0
0
mirror of https://github.com/neon-mmd/websurfx.git synced 2024-11-23 06:28:23 -05:00
Commit Graph

35 Commits

Author SHA1 Message Date
neon_arch
991f3f59de
perf: several optimizations for improving the performance of the engine (#540)
* ♻️ refactor: initialize & store the config & cache structs as a constant (#486)
- initializes & stores the config & cache structs as a static constant.
- Pass the config & cache structs as a static reference to all the
  functions handling their respective route.

*  perf: replace hashmaps with vectors for fetching & aggregating results (#486)
- replace hashmaps with vectors for fetching, collecting & aggregating results as it tends to be contigous & cache efficient data structure.
- refactor & redesign algorithms for fetching & aggregating results
  centered around vectors in aggregate function.

*  build: add the future crate (#486)

*  perf: use `futureunordered` for collecting results fetched from the tokio spawn tasks (#486)
- using the `futureunordered` instead of vector for collecting results
  reduces the time it takes to fetch the results as the results do not
  need to come in specific order so any result that gets fetched first
  gets collected in the `futureunordered` type.

Co-authored-by: Spencerjibz <spencernajib2@gmail.com>

*  perf: initialize new async connections parallely using tokio spawn tasks (#486)

*  perf: initialize redis pipeline struct once with the default size of 3 (#486)

*  perf: reduce branch predictions by reducing conditional code branches (#486)

*  test(unit): provide unit test for the `get_safesearch_level` function (#486)

*  perf: reduce clones & use index based loop to improve search results filtering performance (#486)

* 🚨 fix(clippy): make clippy/format checks happy (#486)

* 🚨 fix(build): make the cargo build check happy (#486)

*  perf: reduce the amount of clones, to_owneds & to_strings (#486)

*  perf: use async crates & methods & make functions async (#486)

* 🔖 chore(release): bump the app version (#486)

---------

Co-authored-by: Spencerjibz <spencernajib2@gmail.com>
2024-03-11 12:01:30 +03:00
Siddharth Tiwari
5b4864424a
perf: Compression for the page responses of the search engine (#472) 2023-12-31 12:57:50 +03:00
Ashwin Vinod
e704c26ed3
♻️ Refactor cache system (#399)
* ♻️ Refactor cache system

* 🐛 Fix cache not getting set

This patch also makes it that cookies are eagerly evaluated. This is
done to figure out the safe search level set by the user. The
performance hit wouldn't be much of a deal as the cookie is a small
json string

* 🔖 chore: bump the app version (#399)

* 🔖 chore: bump the app version (#399)

---------

Co-authored-by: alamin655 <mdalamin655@outlook.com>
2023-11-28 09:17:35 +03:00
víctor
5e2669b6de
♻️ Clean some code, fix bug (#396)
* ♻️ Improve src/handler

Removes unnecessary submoduling & adjusts some weird code

* ♻️ Cleaner code

* 🐛 Fixed issue where code would overflow if page=0
2023-11-27 09:45:28 +03:00
neon_arch
ca1c72c3dc ♻️ refactor: remove handlebar related code & add the templates module (#302) 2023-11-18 21:27:49 +03:00
Zsombor Gegesy
e69126c5ea Fix git rebase problems, and the failing doctest 2023-09-15 23:25:17 +02:00
Zsombor Gegesy
519ebe0fd8 Instead of caching jsons, we can cache the original structure 2023-09-15 23:21:19 +02:00
Zsombor Gegesy
996ff84c5b Cache refactor - add an in-memory cache, so redis is not needed 2023-09-15 23:21:19 +02:00
neon_arch
ca4447fcdf Merge branch 'rolling' into reorganize-code-and-restructure-the-codebase 2023-09-13 18:31:37 +03:00
neon_arch
fb231de416
Merge branch 'rolling' into change-document-style-with-linter-warnings 2023-09-12 17:49:46 +03:00
alamin655
0132a63e6f
Apply suggestions from code review 2023-09-11 11:58:31 +05:30
alamin655
86991a2f9a
Merge branch 'rolling' into feat-rate-limiter-for-websurfx 2023-09-10 20:56:21 +05:30
neon_arch
db009454c8 ⚙️ refactor: change import path for search route (#207) 2023-09-03 21:03:58 +03:00
neon_arch
493c56bd02 ⚙️ refactor: reorganize code & restructure codebase for better maintainability (#207) 2023-09-03 20:50:50 +03:00
neon_arch
0d2d449889 ⚙️ refactor: add lints to the codebase to ensure proper code style (#205) 2023-09-03 19:21:23 +03:00
neon_arch
51937a0d49 feat: pass the new config option into the middleware config (#203) 2023-09-02 20:22:24 +03:00
neon_arch
7b1f93b232 ⚙️ refactor: add compress middleware to reduce memory usage (#180)(#178) 2023-08-29 20:12:15 +03:00
neon_arch
fd6cb46f87 ⚙️ refactor: replace string type to &str type (#180)(#178) 2023-08-27 21:07:57 +03:00
neon_arch
b17057471b feat: rename functions (#163) 2023-08-22 19:22:37 +03:00
neon_arch
9d3a8e065a
Merge branch 'rolling' into patch-csrf-security-with-cors 2023-08-04 12:35:26 +03:00
neon_arch
bef8956da6 🛠️ fix: add code to prevent csrf attacks using cors (#172) 2023-08-03 17:44:13 +03:00
neon_arch
e02fafd69c feat: fix doc tests 2023-08-03 01:03:56 +03:00
neon_arch
d8bd2feb6e feat: add new config option to manage threads and improve logging 2023-08-02 20:05:39 +03:00
Trickshotblaster
99936bcb1a Rename getter functions 2023-07-04 15:11:30 -07:00
Milim
4cb38b1b54 Fix docs 2023-07-03 19:38:17 +02:00
Milim
440216871d Rename Things, refactor some code
BREAKING: renames `binding_ip_addr` to `binding_ip` and `redis_connection_url` to `redis_url`.

Renames a lot of internals as well, but they are to many to mention.
2023-07-03 19:30:25 +02:00
neon_arch
dc3308cb5f chore: rename from theme to public 2023-05-25 11:50:37 +03:00
neon_arch
29456650f1 feat: add ability to put the themes folder on different paths 2023-05-24 17:37:41 +03:00
neon_arch
c170de8194 add code to evade ip blocking, improve pagination code and fix documentation 2023-05-02 11:58:21 +03:00
neon_arch
71fae8b496 add more colorschemes, fix tests and improve documentation 2023-04-30 20:04:31 +03:00
neon_arch
4a505fb1d5 add missing documentation in config.lua and application source code 2023-04-30 19:24:16 +03:00
neon_arch
137c62ed5f replace commandline arguments with config.lua & add support for changing themes & coloschemes 2023-04-30 18:16:08 +03:00
neon_arch
cb1edad658 fixing documentation test in lib.rs and adding library documentation 2023-04-28 14:43:02 +03:00
XFFXFF
12bb0eefb8 add a integration test for index page 2023-04-28 10:39:58 +08:00
neon_arch
15fc415301 initial commit 2023-04-22 14:35:07 +03:00