EgorBo / SimdJsonSharp

C# bindings for lemire/simdjson (and full C# port)
Apache License 2.0
643 stars 41 forks source link

Pre AVX2 #4

Open danmoseley opened 5 years ago

danmoseley commented 5 years ago

Nice work. As you know RyuJIT can test for ISA level support at codegen time. Do you plan to attempt to offer a SIMD codepath for CPU without AVX2? They are still fairly common I guess.

@tannergooding

EgorBo commented 5 years ago

@danmosemsft thanks, yeah I am actually planning to try to make an alternative SSE-only path but I am not 100% sure it will be efficient (however there will be no penalties from mixing avx with sse and vzeroupper here and there 🙂) - the upstream project has only AVX2 based impl.

lemire commented 5 years ago

@EgorBo @danmosemsft

Pre-haswell processors are still common, sure. It is not unlikely that the performance could be decent.

lemire commented 5 years ago

We now have support for pre-AVX cpus and for ARM NEON.

Upcoming version of simdjson will support runtime dispatch.

This may get resolved with the next version of simdjson. Upstream, simdjson will provide runtime dispatch.

cc @ioioioio