inhabitedtype / bigstringaf

Bigstring intrinsics and fast blits based on memcpy/memmove
Other
37 stars 15 forks source link

Remove tupled definitions preventing inlining #55

Open dmitrig opened 1 year ago

dmitrig commented 1 year ago

The tupled definitions of the various sized get/set functions appear to prevent bigstring primitives from being inlined into user code by the baseline compiler. Pushing the branch on endianness into each function (like in bytes.ml) appears to fix this, and gives a speedup of up to 2x on a simple benchmark reading integers in a tight loop (using ocamlopt 4.14.0 on x64 linux).