@geofflangdale Yep, and the "interpreter-like" approach is generally what is done, but in many circumstances it leaves a lot of performance on the table over human-written SIMD code for the specific query. RTCG has its own issues though, like balancing compilation time against execution time.
@geofflangdale On a related note, do you happen to know why _mm512_mask_compressstoreu_epi8 is way slower than _mm512_maskz_compress_epi8 followed by _mm512_mask_storeu_epi8 on zen 4 (and possibly other microarchitectures?)
I've open sourced my B++ Trees library, which is a B+ tree library that I wrote in C++.
It can be used as a normal B+ tree, but it also has optional mixins that can be used to access elements by index, calculate prefix sums, or find the min/max element
https://t.co/OnPZKVfRvx
@xeraa@fulmicoton@papers_we_love there is a third option of using userfaultfd and madvise to get the benefits of hardware accelerated virtual address resolution with more control over eviction than is possible with mmap. still has some of the downsides of both but could be the right tradeoff for many systems.
@GrahamJenson@ohunt if you squint at it hard enough it's just insertion sort with some extra unnecessary steps. it still works if the inner loop goes from 0..i although the intermediate steps turn out a bit different.
@seldo@DavidKrakov vega-lite (https://t.co/OPOVWQO2Qk) is kind of this for individual visualizations, although to my knowledge it's not widely adopted across tools