Fixed a few bugs, updated the documentation to reflect @lostkobrakai’s suggestion and added an even faster backend TzWorld.Backend.EtsWithIndexCache which is about 40% faster than TzWorld.Backend.Memory although it does take about 512Mb. Results:
Name ips average deviation median 99th %
Backend EtsWithIndexCache 73.37 13.63 ms ±20.09% 13.81 ms 19.01 ms
Backend Memory 51.67 19.35 ms ±14.90% 18.50 ms 29.64 ms
Backend DetsWithIndexCache 49.23 20.31 ms ±13.60% 21.18 ms 25.44 ms
Backend Ets 2.25 444.57 ms ±2.05% 445.87 ms 456.08 ms
Backend Dets 0.54 1853.16 ms ±23.09% 1684.00 ms 2726.35 ms
Comparison:
Backend EtsWithIndexCache 73.37
Backend Memory 51.67 - 1.42x slower +5.72 ms
Backend DetsWithIndexCache 49.23 - 1.49x slower +6.68 ms
Backend Ets 2.25 - 32.62x slower +430.94 ms
Backend Dets 0.54 - 135.97x slower +1839.53 ms
Other improvements:
- Dialyzer is now also happy.
- Removed a compile-time expression that would break releases
- Consolidated the documentation in the
TzWorldmodule
Unless any nasty bugs pop up I’ll release to hex in about 24 hours.






















