sapling/lib/cdatapack
Adam Simpkins 641bac8427 improve cdatapack fanout table calculation
Summary:
Refactor the cdatapack logic that computes the fanout table.  This more
accurately computes the correct ranges to bisect for each fanout table entry.

This fixes an off-by-one error setting end_index in most buckets that caused
it to search a slightly larger bisection range than necessary.

This also fixes the code to accurately compute which buckets do not have any
nodes, and sets a (start, end) range of (1, 0) for these buckets, causing
find() to avoid having to search anything in these cases.

Reviewed By: quark-zju

Differential Revision: D8131019

fbshipit-source-id: 70d6d0f2e1d900a2df27b64f3a38f114d301be0d
2018-05-30 18:54:19 -07:00
..
cdatapack_dump.c update cdatapack utilities to check open success 2018-05-24 11:30:48 -07:00
cdatapack_get.c update cdatapack utilities to check open success 2018-05-24 11:30:48 -07:00
cdatapack.c improve cdatapack fanout table calculation 2018-05-30 18:54:19 -07:00
cdatapack.h hg: some portability fixes to py-cdatapack.h 2018-04-13 21:51:24 -07:00
Makefile update cdatapack utilities to check open success 2018-05-24 11:30:48 -07:00