Derrick Stolee
88093289cd
Documentation: changed-path Bloom filters use byte words
...
In Documentation/technical/commit-graph-format.txt, the definition
of the BIDX chunk specifies the length is a number of 8-byte words.
During development we discovered that using 8-byte words in the
Murmur3 hash algorithm causes issues with big-endian versus little-
endian machines. Thus, the hash algorithm was adapted to work on a
byte-by-byte basis. However, this caused a change in the definition
of a "word" in bloom.h. Now, a "word" is a single byte, which allows
filters to be as small as two bytes. These length-two filters are
demonstrated in t0095-bloom.sh, and a larger filter of length 25 is
demonstrated as well.
The original point of using 8-byte words was for alignment reasons.
It also presented opportunities for extremely sparse Bloom filters
when there were a small number of changes at a commit, creating a
very low false-positive rate. However, modifying the format at this
point is unlikely to be a valuable exercise. Also, this use of
single-byte granularity does present opportunities to save space.
It is unclear if 8-byte alignment of the filters would present any
meaningful performance benefits.
Modify the format document to reflect reality.
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-05-11 09:33:56 -07:00
..
2020-03-29 09:32:51 -07:00
2020-03-09 07:57:57 -07:00
2020-03-26 17:11:21 -07:00
2020-05-11 09:33:56 -07:00
2019-05-09 00:37:27 +09:00
2019-09-16 12:27:34 -07:00
2019-10-06 12:25:16 +09:00
2019-05-16 11:36:23 +09:00
2019-11-07 13:42:00 +09:00
2020-03-25 13:57:44 -07:00
2019-12-13 12:18:07 -08:00
2019-09-17 12:14:06 -07:00
2020-02-09 09:25:24 -08:00
2020-02-18 13:53:30 -08:00
2020-03-11 11:29:14 -07:00
2019-12-04 10:10:37 -08:00
2020-02-20 13:20:41 -08:00
2018-09-21 09:28:58 -07:00
2019-12-06 15:09:24 -08:00
2019-10-29 11:53:56 +09:00
2019-05-16 11:36:23 +09:00
2019-07-29 12:38:16 -07:00
2019-12-10 13:11:41 -08:00
2019-02-06 22:05:21 -08:00
2019-11-07 13:42:00 +09:00
2020-03-17 15:02:23 -07:00
2019-04-02 13:57:00 +09:00
2019-12-04 10:10:37 -08:00
2019-07-02 12:08:08 -07:00
2019-10-11 14:24:46 +09:00
2019-12-25 11:22:00 -08:00
2018-12-26 15:29:30 -08:00
2020-04-06 11:08:37 -07:00
2020-01-22 12:27:08 -08:00
2020-01-22 12:27:08 -08:00
2020-02-10 10:49:12 -08:00
2019-11-18 15:21:29 +09:00
2019-11-07 13:42:00 +09:00
2019-03-13 11:14:22 +09:00
2019-04-08 17:24:51 +09:00
2019-04-01 15:17:47 +09:00
2019-11-02 13:16:41 +09:00
2019-05-13 23:11:59 +09:00
2019-11-07 13:42:00 +09:00
2020-02-28 09:53:41 -08:00
2019-08-05 10:05:24 -07:00
2020-02-04 12:17:18 -08:00
2018-10-29 10:17:01 +09:00
2019-05-07 13:45:53 +09:00
2019-12-05 06:06:18 -08:00
2019-07-29 10:41:18 -07:00
2019-09-05 13:01:48 -07:00
2020-02-14 12:54:20 -08:00
2019-10-06 09:45:02 +09:00
2019-05-28 10:47:42 -07:00
2019-03-13 11:14:22 +09:00
2019-03-07 09:25:32 +09:00
2018-10-29 10:17:02 +09:00
2020-02-24 09:33:27 -08:00
2019-01-28 10:57:44 -08:00
2019-04-01 15:49:47 +09:00
2020-01-06 14:17:50 -08:00
2019-04-23 10:25:04 +09:00
2020-03-17 15:02:24 -07:00
2019-03-13 11:14:22 +09:00
2019-09-09 11:05:51 -07:00
2019-09-09 11:05:52 -07:00
2019-08-07 12:37:33 -07:00
2019-05-13 23:11:59 +09:00
2019-05-13 23:11:59 +09:00
2019-10-23 12:05:06 +09:00
2019-10-18 09:43:10 +09:00
2019-01-23 11:37:29 -08:00
2020-03-20 14:22:31 -07:00
2019-08-05 10:05:24 -07:00
2019-08-11 17:40:07 -07:00
2019-01-07 15:29:34 -08:00
2019-12-05 12:52:44 -08:00
2019-11-22 16:11:43 +09:00
2020-03-11 12:11:08 -07:00
2019-09-09 11:05:52 -07:00
2018-10-22 13:32:54 +09:00
2019-04-22 11:14:46 +09:00
2019-04-01 14:00:53 +09:00
2019-04-01 14:00:53 +09:00
2019-04-02 13:57:00 +09:00
2019-08-11 17:40:07 -07:00
2019-09-05 13:01:48 -07:00
2019-07-09 15:25:44 -07:00
2019-11-20 13:01:53 +09:00
2019-12-04 10:10:37 -08:00
2019-10-06 09:45:19 +09:00
2019-11-20 10:19:58 +09:00
2019-07-19 11:30:21 -07:00
2020-02-19 10:56:49 -08:00
2019-09-09 11:05:51 -07:00
2019-11-10 15:13:23 +09:00
2019-04-10 12:05:03 +09:00
2019-01-10 10:29:05 -08:00
2020-03-05 10:43:02 -08:00
2020-02-19 10:56:49 -08:00
2019-09-09 11:05:51 -07:00
2020-03-05 10:43:03 -08:00
2019-11-23 09:49:23 +09:00
2019-05-07 13:04:48 +09:00
2019-11-07 13:42:00 +09:00
2020-01-22 12:27:49 -08:00
2018-11-21 22:58:07 +09:00
2019-05-15 14:07:37 +09:00
2019-01-23 11:37:29 -08:00
2019-03-13 11:14:22 +09:00
2019-03-18 14:45:21 +09:00
2020-02-24 09:33:29 -08:00
2019-12-01 09:04:36 -08:00
2020-03-17 15:02:24 -07:00
2020-01-08 08:56:40 -08:00
2020-03-05 10:43:02 -08:00
2018-12-26 14:59:37 -08:00
2019-05-07 13:04:48 +09:00
2020-01-23 15:10:23 -08:00
2019-07-25 14:27:13 -07:00
2019-12-26 11:00:15 -08:00
2019-12-25 11:21:59 -08:00
2019-10-23 14:43:11 +09:00
2019-11-10 18:02:14 +09:00
2018-08-31 14:04:06 -07:00
2019-10-29 12:41:05 +09:00
2019-05-07 13:04:48 +09:00
2019-05-07 13:04:48 +09:00
2019-09-09 11:05:52 -07:00
2019-06-24 12:37:21 -07:00
2019-04-02 13:57:00 +09:00
2019-08-05 10:05:24 -07:00
2019-11-10 18:02:11 +09:00
2019-11-02 14:46:42 +09:00
2019-09-16 12:20:39 -07:00
2019-11-07 13:42:00 +09:00
2019-11-11 11:04:46 +09:00
2020-02-14 09:36:56 -08:00
2019-11-18 15:21:29 +09:00
2020-01-30 14:17:08 -08:00
2019-12-10 13:11:43 -08:00
2018-09-20 09:40:03 -07:00
2019-12-10 13:11:43 -08:00
2019-07-09 15:25:44 -07:00
2019-07-02 12:08:08 -07:00
2019-12-10 13:11:43 -08:00
2019-10-04 09:26:42 +09:00
2019-10-21 12:02:39 +09:00
2019-12-06 15:09:24 -08:00