Of possible interest: fast UTF8 validation

Ethan Watson gooberman at gmail.com
Wed May 16 14:38:29 UTC 2018


On Wednesday, 16 May 2018 at 13:54:05 UTC, Andrei Alexandrescu 
wrote:
> Is it workable to have a runtime-initialized flag that controls 
> using SSE vs. conservative?

Sure, it's workable with these kind of speed gains. Although the 
conservative code path ends up being slightly worse off - an 
extra fetch, compare and branch get introduced.

My preferred method though is to just build multiple sets of 
binaries as DLLs/SOs/DYNLIBs, then load in the correct libraries 
dependant on the CPUID test at program initialisation. Current 
Xbox/Playstation hardware is pretty terrible when it comes to 
branching, so compiling with minimal branching and deploying the 
exact binaries for the hardware capabilities is the way I 
generally approach things.

We never got around to setting something like that up for the PC 
release of Quantum Break, although we definitely talked about it.


More information about the Digitalmars-d mailing list