Skip to content

Wireless4024/simd-learning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SIMD learning project to parse HTTP request

this project will SIGSEGV when you run it in debug mode. still unfinished, I will come back later.

Goal

  • learn how to utilize SIMD instruction to bulk process multiple data
  • custom hash function for http header : http header don't need DOS resistance
  • buffer reuse : allocation is expensive
  • thread per core model (no Arc<Mutex<T>>): mfence is expensive

Note

  • utils are contains buffer overrun (but buffer are over allocated to prevent SEGFAULT in release mode)
  • require nightly rust and avx512 cpu to run

Reason learn

  • Portable SIMD will cause slowdown when T*LANES is more than data path
    • Zen 4 (double pump avx512) will have less performance compare to avx2
    • if compile target to below AVX2 will likely have slightly lower performance than hand rolled SIMD

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages