parser: db: improve iter function

This commit is contained in:
k
2024-10-29 19:38:52 +01:00
parent 4220034eab
commit 6eaeca1f3d
4 changed files with 39 additions and 35 deletions
+3 -8
View File
@@ -15,7 +15,7 @@ use derive_deref::{Deref, DerefMut};
//
// Possible compression: https://pijul.org/posts/sanakirja-zstd/
use sanakirja::{
btree::{self, page, Db_},
btree::{self, page, Db_, Iter},
direct_repr, Commit, Env, Error, MutTxn, RootDb, Storable, UnsizedStorable,
};
@@ -60,13 +60,8 @@ where
})
}
pub fn iter<F>(&self, callback: &mut F)
where
F: FnMut((&Key, &Value)),
{
btree::iter(&self.txn, &self.db, None)
.unwrap()
.for_each(|entry| callback(entry.unwrap()));
pub fn iter(&self) -> Iter<'_, MutTxn<Env, ()>, Key, Value, page::Page<Key, Value>> {
btree::iter(&self.txn, &self.db, None).unwrap()
}
pub fn get(&self, key: &Key) -> Option<&Value> {
@@ -92,7 +92,11 @@ impl AddressIndexToAddressData {
.par_iter()
.map(|(_, database)| {
let mut s = AddressCohortsDurableStates::default();
database.iter(&mut |(_, a)| s.increment(a).unwrap());
database
.iter()
.map(|r| r.unwrap().1)
.for_each(|address_data| s.increment(address_data).unwrap());
s
})
.sum()
+12 -12
View File
@@ -1781,9 +1781,9 @@ dependencies = [
[[package]]
name = "ordered-float"
version = "4.3.0"
version = "4.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "44d501f1a72f71d3c063a6bbc8f7271fa73aa09fe5d6283b6571e2ed176a2537"
checksum = "83e7ccb95e240b7c9506a3d544f10d935e142cc90b0a1d56954fb44d89ad6b97"
dependencies = [
"num-traits",
]
@@ -2168,9 +2168,9 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
[[package]]
name = "reqwest"
version = "0.12.8"
version = "0.12.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f713147fbe92361e52392c73b8c9e48c04c6625bce969ef54dc901e58e042a7b"
checksum = "a77c62af46e79de0a562e1a9849205ffcb7fc1238876e9bd743357570e04046f"
dependencies = [
"base64 0.22.1",
"bytes",
@@ -2327,9 +2327,9 @@ checksum = "ad97d4ce1560a5e27cec89519dc8300d1aa6035b099821261c651486a19e44d5"
[[package]]
name = "sanakirja"
version = "1.4.2"
version = "1.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "450d6e757837c485e85fe8d5bd7aae9592da139a55036a4f64cec2b9984c6953"
checksum = "81aaf70d064e2122209f04d01fd91e8908e7a327b516236e1cbc0c3f34ac6d11"
dependencies = [
"fs2",
"log",
@@ -2437,18 +2437,18 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
[[package]]
name = "serde"
version = "1.0.210"
version = "1.0.214"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a"
checksum = "f55c3193aca71c12ad7890f1785d2b73e1b9f63a0bbc353c08ef26fe03fc56b5"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
version = "1.0.210"
version = "1.0.214"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f"
checksum = "de523f781f095e28fa605cdce0f8307e451cc0fd14e2eb4cd2e98a355b147766"
dependencies = [
"proc-macro2",
"quote",
@@ -2457,9 +2457,9 @@ dependencies = [
[[package]]
name = "serde_json"
version = "1.0.128"
version = "1.0.132"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8"
checksum = "d726bfaff4b320266d395898905d0eba0345aae23b54aee3a737e260fd46db03"
dependencies = [
"itoa",
"memchr",
+19 -14
View File
@@ -7,18 +7,18 @@ const HEIGHT_TO_PREFIX = "height-to-";
*/
function createPartialOptions(colors) {
function initGroups() {
const xth = /** @type {const} */ ([
const xTermHolders = /** @type {const} */ ([
{
id: "sth",
key: "sth",
name: "Short Term Holders",
legend: "STH",
legend: "Short Term Holders - STH",
},
{
id: "lth",
key: "lth",
name: "Long Term Holders",
legend: "LTH",
legend: "Long Term Holders - LTH",
},
]);
@@ -231,7 +231,7 @@ function createPartialOptions(colors) {
id: "",
name: "",
},
...xth,
...xTermHolders,
...upTo,
...fromXToY,
...fromX,
@@ -460,7 +460,7 @@ function createPartialOptions(colors) {
]);
return {
xth,
xTermHolders,
upTo,
fromX,
fromXToY,
@@ -3656,15 +3656,20 @@ function createPartialOptions(colors) {
},
],
},
...groups.xth.map(({ key, id, name, legend }) =>
createCohortOptionsGroup({
scale,
color: colors[key],
name: legend,
datasetId: id,
title: name,
}),
),
{
name: "X Term Holders",
tree: [
...groups.xTermHolders.map(({ key, id, name, legend }) =>
createCohortOptionsGroup({
scale,
color: colors[key],
name: legend,
datasetId: id,
title: name,
}),
),
],
},
{
name: "Up To X",
tree: groups.upTo.map(({ key, id, name }) =>