may VS actix-web

Compare may vs actix-web and see what are their differences.

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
may actix-web
17 171
1,720 20,290
- 1.0%
8.2 9.1
7 days ago about 11 hours ago
Rust Rust
Apache License 2.0 Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

may

Posts with mentions or reviews of may. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-25.
  • Why choose async/await over threads?
    11 projects | news.ycombinator.com | 25 Mar 2024
    https://github.com/Xudong-Huang/may

    The project has some serious restrictions and unsound footguns (e.g. around TLS), but otherwise it's usable enough. There are also a number of C/C++ libraries, but I can not comment on those.

  • Asynchronous Clean-Up (in Rust)
    5 projects | news.ycombinator.com | 25 Feb 2024
    > e.g. Linux mutexes

    You don't want to use blocking mutexes anyway with async.

    > or Rust's Rc

    This is only half true. The danger is that two `Rc` that point to the same data are in different threads. But it should be safe to move all of them at once from one thread to another, which is exactly the case if all the `Rc`s involved live inside a `Future`. The problem is that this is a non-local property that's hard to encode in the type system.

    > By the way, if you wish to test uncolored async in Rust, you can find an implementation here: https://github.com/Xudong-Huang/may .

    FYI that's known to be unsound due to thread locals. And more generally it doesn't seem to give much attention to safety (see for example how it allowed unsound scoped tasks, or the fact it allows doing unsafe operations in some of its macros due to wrong scoping of `unsafe` blocks).

  • What's the Benefit/Allure of Async/Await vs. CSP/Green Threads (and Other Concurrency Models)?
    6 projects | /r/rust | 9 Dec 2023
    It seems that rust removed native green threads as against it's philosophy: https://stackoverflow.com/questions/29428318/why-did-rust-remove-the-green-threading-model-whats-the-disadvantage#29430403 but there are good CSP libraries e.g. https://github.com/Xudong-Huang/may and yet people really like e.g. Tokio for Async/Await (although it also has greenthreads!) What am I missing?
  • Async Rust Is A Bad Language
    11 projects | news.ycombinator.com | 8 Sep 2023
    Can you admit that you failed in making it a pleasant experience to write async, especially for library authors? I don’t think it’s too late to admit failure and implement something like May https://github.com/Xudong-Huang/may
  • How Much Memory Do You Need to Run 1 Million Concurrent Tasks?
    2 projects | /r/programming | 21 May 2023
    Your benchmark is comparing apples to oranges, you're benchmarking different things. If you wanted to compare a Rust solution to something like what Go does, you would need to use something like this library.
  • Can this new algorithm of Kotlin async be applied to Rust?
    1 project | /r/rust | 14 Feb 2023
    Yep. This is the best coroutine library right now https://github.com/Xudong-Huang/may
  • async fn calls can lead to surprising performance problems if they are nested too deeply
    5 projects | /r/rust | 26 Jan 2023
    I am still intrigued by the stackful coroutine library, May https://github.com/Xudong-Huang/may. I would like to see how far this library can push the boundaries of being a higher level alternative to async
  • Goroutine equivalent
    1 project | /r/rust | 27 Dec 2022
    There is also "may" which attempts to be a Rust version of goroutines. I have not used it though, so can't comment on anything further about it.
  • Virtual Threads in Rust?
    3 projects | /r/rust | 30 Sep 2022
    This library https://github.com/Xudong-Huang/may implement Stackful Coroutines in Rust which I believe is pretty close to what you're asking about. I believe it's a reasonably complete implementation, but it doesn't have much traction because most of the Rust ecosystem is using either async/await or native threads.
  • Working with Strings in Rust
    1 project | news.ycombinator.com | 23 Sep 2022
    I've never worked with C# so I need to look into that.

    The one saving grace with Rust is if everyone decides to say "screw async" and just builds synchronous APIs, then we use something like [May](https://github.com/Xudong-Huang/may) for green threading.

actix-web

Posts with mentions or reviews of actix-web. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-09.
  • Empowering Web Privacy with Rust: Building a Decentralized Identity Management System
    3 projects | dev.to | 9 Apr 2024
    Actix Web Documentation: Detailed documentation on using Actix-web, including examples and best practices for building web applications with Rust.
  • Ntex: Powerful, pragmatic, fast framework for composable networking services
    2 projects | news.ycombinator.com | 23 Mar 2024
    I can't speak to the "is it any good" part, but (after a bit of research) I can share what I've found. I'll try to represent things as best as I understand, but I may have some finer details mixed up.

    ntex is written by the same person that started actix-web, Nikolay Kim (fafhrd91 on GitHub). There was a bunch of drama a while back due to actix-web using (what many reasoned to be) avoidable unsafe code, which was later found to be buggy. Nikolay was pilloried online, resulting in him transferring leadership of actix-web to someone else. ntex is, as I understand it, essentially Nikolay picking back up on his ideals for what could have been actix-web, if people hadn't pushed him out of his own project.

    How ntex compares to the pre-/post-leadership change of actix-web, I don't know.

    Here are some jumping points if you want more of the backstory.

    https://www.theregister.com/2020/01/21/rust_actix_web_framew...

    https://steveklabnik.com/writing/a-sad-day-for-rust

    https://github.com/actix/actix-web/issues/1289

  • Building a REST API for Math Operations (+, *, /) with Rust, Actix, and Rhai🦀
    2 projects | dev.to | 22 Mar 2024
    Are you ready to embark on another journey in Rust? Today, we'll explore how to create a REST API that performs basic mathematical operations: addition, multiplication, and division. We'll use Actix, a powerful web framework for Rust, together with Rhai, a lightweight scripting language, to achieve our goal.
  • Actix-Web: v4.5.0
    1 project | news.ycombinator.com | 4 Feb 2024
  • Getting Started with Actix Web - The Battle-tested Rust Framework
    2 projects | dev.to | 15 Dec 2023
    Within actix-web, middleware is used as a medium for being able to add general functionality to a (set of) route(s) by taking the request before the handler function runs, carrying out some operations, running the actual handler function itself and then the middleware does additional processing (if required). By default, actix-web has several default middlewares that we can use, including logging, path normalisation, access external services and modifying application state (through the ServiceRequest type).
  • Show HN: Play Euchre with AI Bots
    2 projects | news.ycombinator.com | 12 Oct 2023
  • Actix-Web: v4.4.0
    1 project | news.ycombinator.com | 30 Aug 2023
  • Choosing the Right Rust Web Framework: An Overview
    4 projects | news.ycombinator.com | 23 Aug 2023
  • Building a Rust app with Perseus
    8 projects | dev.to | 5 Jul 2023
    Rust is a popular system programming language, known for its robust memory safety features and exceptional performance. While Rust was originally a system programming language, its application has evolved. Now you can see Rust in different app platforms, mobile apps, and of course, in web apps — both in the frontend and backend, with frameworks like Rocket, Axum, and Actix making it even easier to build web applications with Rust.
  • Introducing SQLPage : write websites entirely in SQL
    8 projects | /r/rust | 4 Jul 2023
    actix to handle HTTP requests

What are some alternatives?

When comparing may and actix-web you can also consider the following projects:

tokio - A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ...

axum - Ergonomic and modular web framework built with Tokio, Tower, and Hyper

cached - Rust cache structures and easy function memoization

Rocket - A web framework for Rust.

ocaml - The core OCaml system: compilers, runtime system, base libraries

Tide - Fast and friendly HTTP server framework for async Rust

go - The Go programming language

tonic - A native gRPC client & server implementation with async/await support.

Puma - A Ruby/Rack web server built for parallelism

hyper - An HTTP library for Rust

crystal - The Crystal Programming Language

salvo - A powerful web framework built with a simplified design.