Skip to content

v1.1.2

Latest

Choose a tag to compare

@dancixx dancixx released this 10 Apr 22:41
· 42 commits to main since this release
2fe1a55

Performance improvements

  • RPITIT handler dispatch — Handler trait switched to return-position impl trait, eliminating double Box::pin allocation per request (1 heap alloc instead of 2)
  • Lock-free route configRwLock<Option<Duration>> and RwLock<Option<SimdJsonMode>> replaced with OnceLock for zero-overhead reads on the hot path
  • Static router reference — Router is leaked into &'static to eliminate all Arc refcount bumps per connection and per request
  • Middleware emptiness flagsAtomicBool flags on Router and Route skip ArcSwap::load() when no middleware is registered
  • HTTP/1.1 pipeline flush — Enabled pipeline_flush(true) on the hyper HTTP/1 builder for better pipelining throughput
  • Method clone eliminatedreq.method().clone() removed from dispatch hot path, using direct reference instead
  • Inline dispatch#[inline] added to the dispatch function