Comment

Comment by patrulek

You can utilize MLP (memory-level parallelism) and reduce memory latency by reading whole 8 bytes of next_j at every iteration. Just do something like

`uint64_t packed_next_j = *(uint64_t*)(&next_j[i])`

and then just shift right to find proper j. This way you remove dependency on previous iteration. Did you tried that?

parent patrulek 3 months ago

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton