A very experimental PLC implementation which uses BFT consensus for decentralization
19
fork

Configure Feed

Select the types of activity you want to include in your feed.

Don't use "fast node storage" in IAVL MutableTree

From what I've observed so far most of the queries we make end up not using the "fast nodes," (because we mainly read "committed" data) meaning they mainly exist to take up space and to slow down snapshot import greatly. This might be reverted if further evidence ends up proving this was a bad idea.

gbl08ma e7021cca 905fad65

+2 -2
+1 -1
abciapp/app.go
··· 62 62 // Using SpeedDefault appears to cause the processing time for ExecuteOperation to double on average 63 63 // Using SpeedBetterCompression appears to cause the processing time to double again 64 64 // By using SpeedFastest we seem to give up on like 5% size reduction, it's not worth using the slower speeds 65 - return iavl.NewMutableTree(dbmtoiavldb.AdaptWithCompression(treeDB, zstd.SpeedFastest, zstddict.PLCZstdDict), 500000, false, iavl.NewNopLogger(), iavl.AsyncPruningOption(false)) 65 + return iavl.NewMutableTree(dbmtoiavldb.AdaptWithCompression(treeDB, zstd.SpeedFastest, zstddict.PLCZstdDict), 500000, true, iavl.NewNopLogger(), iavl.AsyncPruningOption(false)) 66 66 } 67 67 68 68 tree := mkTree()
+1 -1
testutil/testutil.go
··· 19 19 _, treeDB, err := badgertodbm.NewBadgerInMemoryDB() 20 20 require.NoError(t, err) 21 21 22 - tree := iavl.NewMutableTree(dbmtoiavldb.AdaptWithCompression(treeDB, zstd.SpeedFastest, zstddict.PLCZstdDict), 500000, false, iavl.NewNopLogger(), iavl.AsyncPruningOption(false)) 22 + tree := iavl.NewMutableTree(dbmtoiavldb.AdaptWithCompression(treeDB, zstd.SpeedFastest, zstddict.PLCZstdDict), 500000, true, iavl.NewNopLogger(), iavl.AsyncPruningOption(false)) 23 23 24 24 _, indexDB, err := badgertodbm.NewBadgerInMemoryDB() 25 25 require.NoError(t, err)