Software /
code /
prosody
File
.hgtags @ 13134:638f627e707f
util.datamanager: Add O(1) list indexing with on-disk index
Index file contains offsets and lengths of each item() which allows
seeking directly to each item and reading it without parsing the entire
file.
Also allows tricks like binary search, assuming items have some defined
order.
We take advantage of the 1-based indexing in tables to store a magic
header in the 0 position, so that table index 1 ends up at file index 1.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Tue, 11 May 2021 02:09:56 +0200 |
parent | 12896:423f240d1173 |
child | 13257:e11644485902 |
line wrap: on
line source
c157c1412bda91b6e075e70875b4605e3e20b290 0.1.0 90da4c9b34b52dc3c3cc2c8f9e633364f7caec16 0.2 90da4c9b34b52dc3c3cc2c8f9e633364f7caec16 0.20 90da4c9b34b52dc3c3cc2c8f9e633364f7caec16 -m 90da4c9b34b52dc3c3cc2c8f9e633364f7caec16 Fix incorrect version number as tag 90da4c9b34b52dc3c3cc2c8f9e633364f7caec16 0.20 90da4c9b34b52dc3c3cc2c8f9e633364f7caec16 -m 90da4c9b34b52dc3c3cc2c8f9e633364f7caec16 Fix incorrect version number as tag 90da4c9b34b52dc3c3cc2c8f9e633364f7caec16 0.2.0 90da4c9b34b52dc3c3cc2c8f9e633364f7caec16 -m 90da4c9b34b52dc3c3cc2c8f9e633364f7caec16 Fix incorrect version number as tag (again) 90da4c9b34b52dc3c3cc2c8f9e633364f7caec16 0.2.0 90da4c9b34b52dc3c3cc2c8f9e633364f7caec16 0.2.0 0000000000000000000000000000000000000000 0.2 0000000000000000000000000000000000000000 0.20 0000000000000000000000000000000000000000 -m 0000000000000000000000000000000000000000 Fix incorrect version number as tag 0000000000000000000000000000000000000000 Fix incorrect version number as tag (again) 59c3f9a4996969b44180caf7c76430b8edf49426 0.2.0 8e77a39826c2cd7bb903cf2091473dbfe33f4d2b 0.3.0 13ae298c67d78485f1d795fcc7ffeb2057876fb7 0.3.0 84202314ab7f974f7e3b5706e65ddadb9b99274b 0.4.0 4aff205cc4cd5e1e22f5130fecc47d24be1ee5bf 0.4.0 b2e548344d61ebbfd1474baedc5aa187f874948a 0.4.1 b1b42ce4f0f6a8f587c2925724694c0e8b437dce 0.4.2 6b91a2b39680f0f7195fec561a3ce3d660ea0c20 0.4.2 06030af44faddd7d3c20e7d380bb55b92b079c5f 0.5.0 a63ff2fbba8d0a29503e7552a29fc7c831faa23c 0.5.1 cea841708dd462c7634df68e84429402f6cdf71d 0.5.2 cea841708dd462c7634df68e84429402f6cdf71d 0.5.2 7c45ae42923a1ef03406e481af2a4a6f356361b8 0.5.2 7c45ae42923a1ef03406e481af2a4a6f356361b8 0.5.2 e32593074602a785d152f9e153825f29db4d0973 0.5.2 e32593074602a785d152f9e153825f29db4d0973 0.5.2 5ae3209fefa2c8dc1c53d08c2c1caa340b8ec542 0.5.2 1a99a3bf3ce6dbdfb362b7fd101d761fb3cc10af 0.6.0 81b4e738e4d321b78274132f63a9aec7007e64eb 0.6.1 0395f2f34bd55a01ec7276884fb9a4e0051b0e7a 0.6.2 ea80531e5cbc567c3e211d38749c45e8b66d33b7 0.7.0 ea80531e5cbc567c3e211d38749c45e8b66d33b7 0.7.0 5ea90ee96022b9c106e7e79b4a1d8b2ee99d45dc 0.7.0 49b9e73e31ef38ff1c0141a83f897b5837c40d83 0.8.0 aa905291a66c7d8168b1cb912bb173e6478dac05 0.8.1 aa905291a66c7d8168b1cb912bb173e6478dac05 0.8.1 3421dfaa81880201e9ade8b4eee727ade9a9ce33 0.8.1 44b131d7041ba40ff2cab6519d1543d33ff679a4 0.8.2 6ef79af0c4455851ae45fa4da1033ba2cccada88 0.9.0 6bc4077bc1f96ff83795fcc423ff270a28156d1c 0.9.1 49e3c49eb0d8f33e94e2bf37e5421deacac5f499 0.9.2 49e3c49eb0d8f33e94e2bf37e5421deacac5f499 0.9.2 56b1f151f4a31fcc7dbde49e064a288715077ece 0.9.2 872ff4851c9b6cd662aac4b1a056ac2a97c85ce5 0.9.3 5d73412aa1ba39081683ab922575eae93e4e867a 0.9.4 8dee696c33cc5f7463c8b9e9fe806b9abd24c115 0.9.5 e4b998ffc92249ea96716ab878f961f03769339d 0.9.6 9030b056bd4a5b8402c9b1e1cd65dd35f046032f 0.9.7 b1c84d220c409b7b17cd41e850576db253406b0a 0.9.8 7ec52755622f1009aaf7b02fc9bc91e8ad9974be 0.9.9 352270bc04393910a567b569ede03358dbb728b5 0.9.10 8613086779fa9276615c2af066d2a10c38d0c86e 0.9.11 2a7b52437167a5c7b6c8a5bc79f4463afe092fd5 0.9.12 39966cbc29f46d7ae9660edca8683d5121c82edf 0.10.0 082d127286451eb55420c36424dd321e8d9bceee 0.9.13 4ae8dd415e9431924ad4aa0b57bcee8a4a9272f8 0.10.1 29c6d2681bad9f67d8bd548bb3a7973473bae91e 0.9.14 7ec098b68042f60687f1002e788b34b06048945d 0.10.2 83f3a05c1b1bb9b54b3b153077a06eb02e247c8e 0.11.0 91856829f18bb8ef7056ca02464122fc6de17807 0.11.1 bb8486491b48431236c0d32548c20d9853781e69 0.10.3 4f8b6c09e5f328e3d3d4233dc78fa4fd0535171c 0.11.2 dd7e924c74ef27b7f92eb872d2db50aaa229b234 0.11.3 10d6d0d91f4ec47a6eb446792fee1d4b79a914d7 0.11.4 dbd60f47316492bc367802914dc8fa47f4b3edac 0.11.5 bacca65ce107b8549ce5f9079e81e5771eed2021 0.11.6 0000000000000000000000000000000000000000 0.11.7 ece430d4980997b216c2240015bf922bdeb12dd6 0.11.7 774811e2c6abfc5a1b1dd60007cf564bb7c1f969 0.11.8 d0e9ffccdef934af554ea2d4a5beb9a52e9e951d 0.11.9 d117b92fd8e459170a98a8dece7f3930f4b6aed7 0.11.10 76b4e3f12b53fedae96402d87fa9ee79e704ce5e 0.11.11 783056b4e4480389d0e27883289b1bfef57e4729 0.11.12 ebeb4d959fb3fdbc9235fd42e16a33f3f78241a8 0.11.13 50fcd387948263335ca98dc98de2a3087b543f8b 0.12.0 252ed01896dd815700593b86834c776d0fef828d 0.12.1 be09ac8300a7bde4e81f7cc4e4ee5b0745ab14b7 0.11.14 3784a8ce05961ddc0f0374f8c12618d9a411546b 0.12.2 0598d822614f6637a5baaec78570db025c76f722 0.12.3