Simon Cruanes
81d7e5cc60
CCInt.hash: replace OCaml Int64 loop with C stub (FNV-1a)
...
Implement FNV-1a hashing for CCInt.hash (and CCInt64.hash) as a C stub
instead of a pure-OCaml Int64-based loop. The core hash operates on
int64 values with separate entry points for int and int64.
Includes a throughput benchmark in benchs/run_benchs.ml comparing the
old pure-OCaml FNV hash vs the new C stub. The C stub is ~2x faster
(~117k/s vs ~58k/s) with zero allocations.
2026-02-16 12:30:17 +00:00
Simon Cruanes
040fe2f97c
move to dune 3.0, fix warnings
2024-05-13 21:42:54 -04:00
Simon Cruanes
0b0dd83423
reformat all the things
2024-05-13 20:57:53 -04:00
Simon Cruanes
42967b2127
benchs: add pvec
2024-01-05 22:14:18 -05:00
Simon Cruanes
1a23731730
remove conditional over OCaml >= 4.08
...
in particular, all the let-ops are now unconditional!
2023-06-24 15:22:21 -04:00
Simon Cruanes
10865eaced
reformat
2022-07-04 13:36:06 -04:00
Simon Cruanes
acadb6b9d3
move to dune 2.0
2022-02-17 10:17:08 -05:00
Simon Cruanes
df5151636b
improvements
2020-04-24 21:11:44 -04:00
Simon Cruanes
a767e4618d
wip(3.0): remove deprecated functions, in particular sequence
2020-04-24 20:16:53 -04:00
Fabian
d72907302a
Disable core_kernel test for now
2020-04-19 17:42:13 +02:00
Fabian
53d5a80b96
benchmark for memory usage of data structures
2020-04-19 17:37:25 +02:00
Simon Cruanes
936d5912e6
chore: fix benchs so they don't depend on clarity and they compile again
2019-11-20 20:59:45 -06:00
Simon Cruanes
96ed8a37ab
feat: introduce shim modules for 4.08 compat
...
- also make `unlabel` an explicit operation
- use `Stdlib` instead of `Pervasives`
- remove some warnings in Format
2019-06-14 18:26:14 -05:00
Simon Cruanes
3712db3a5b
chore: use iter, not sequence, in tests
2019-04-13 03:20:56 -05:00
Simon Cruanes
3b1de9a1c8
chore(build): migrate to dune 1.0
2018-09-16 19:53:40 -05:00