zacharygolba / via

A multi-threaded async web framework for people who appreciate simplicity.
Apache License 2.0
1 stars 0 forks source link

Provide a feature flag that optimizes for a single threaded runtime. #52

Open zacharygolba opened 3 days ago

zacharygolba commented 3 days ago

Consider the user deploying via on the Gateway 2000 mentioned in the comments of #51. I think a multi-threaded first approach is something that will stay long term provided the community responds well to it.

I do recognize the potential of a web server framework as lightweight as Via being beneficial for use in embedded devices or recycled hardware. With that being said–offering a feature flag that removes some Send + Sync requirements, avoiding unnecessary clones and / or atomic operations is something we should prioritize.

While this may sound more performant that our current approach. It is only an optimization for users deploying their server to hardware with a single CPU core or older processors that do not support optimized instructions for atomic operations. We'll likely want to introduce tracing a benchmark the multi-threaded version extensively before starting any work here.