Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rustus has been rewritten from scratch #145

Merged
merged 21 commits into from
Nov 20, 2023
Merged

Rustus has been rewritten from scratch #145

merged 21 commits into from
Nov 20, 2023

Conversation

s3rius
Copy link
Owner

@s3rius s3rius commented Nov 17, 2023

This PR is a complete rewrite of Rustus from the ground up.

I tried to reach actix team that they have memory leaks somewhere inside. I made lots of tweaks and changes, but the memory usage was still huge. Later I found out that axum framework can produce almost the same throughput, but it's memory usage is much effective. So, I decided to switch to it.

To decrease memory usage also, we removed all boxes from the app's state, now we depend on nightly channel to use non-boxed async function in traits. Ref: rust-lang/rust#115822.

Here's the transition roadmap:

  • Axum server
  • File data storage
  • Hybrid-S3 data storage
  • File info storage
  • Redis info storage
  • DB info storage
  • All existing notifiers
  • Tests
  • Fixed docs

Signed-off-by: Pavel Kirilin <win10@list.ru>
Signed-off-by: Pavel Kirilin <win10@list.ru>
Signed-off-by: Pavel Kirilin <win10@list.ru>
Signed-off-by: Pavel Kirilin <win10@list.ru>
Signed-off-by: Pavel Kirilin <win10@list.ru>
Signed-off-by: Pavel Kirilin <win10@list.ru>
Signed-off-by: Pavel Kirilin <win10@list.ru>
Signed-off-by: Pavel Kirilin <win10@list.ru>
Signed-off-by: Pavel Kirilin <win10@list.ru>
Signed-off-by: Pavel Kirilin <win10@list.ru>
Signed-off-by: Pavel Kirilin <win10@list.ru>
Signed-off-by: Pavel Kirilin <win10@list.ru>
Signed-off-by: Pavel Kirilin <win10@list.ru>
Signed-off-by: Pavel Kirilin <win10@list.ru>
Signed-off-by: Pavel Kirilin <win10@list.ru>
Signed-off-by: Pavel Kirilin <win10@list.ru>
Signed-off-by: Pavel Kirilin <win10@list.ru>
Signed-off-by: Pavel Kirilin <win10@list.ru>
Signed-off-by: Pavel Kirilin <win10@list.ru>
@s3rius s3rius changed the title Rustus rewritten from scratch Rustus has been rewritten from scratch Nov 19, 2023
Signed-off-by: Pavel Kirilin <win10@list.ru>
Signed-off-by: Pavel Kirilin <win10@list.ru>
@s3rius
Copy link
Owner Author

s3rius commented Nov 20, 2023

The core functionality is ready. Everything what's left, will be added within subsequent PRs.

@s3rius s3rius merged commit 7ea0633 into develop Nov 20, 2023
5 checks passed
@s3rius s3rius deleted the feature/axum branch November 20, 2023 09:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant