Comments (1)
After consideration of different options/optimizations regarding pub fn js_iterate(mut ctx: FunctionContext) -> JsResult<JsUndefined>
function to make it less memory intensive, we decide to leave it as it is.
Current Neon implementation has some limitations on how you can pass borrowed objects back to JS and this was one of the main issues, why memory optimization was not done.
We also investigated how napi-rs library works with lisk-db
and measurements showed that a peak of a memory consumption was decreased by about 50%.
We decided to not proceed and use this library instead of neon
because an effort in comparison to what we will be gaining would be too big.
High memory consumption only concerns lisk-migrator
because it iterates over a large number of database elements. Lisk nodes are not affected by this because iterations are much smaller in comparison with lisk-migrator
.
from lisk-db.
Related Issues (20)
- Support Nodejs 18
- Including lisk-db as a dependency when there's no prebuild should build from source
- node install will build the package regardless of prebuilt
- Shelljs is in devDependencies
- zero byte at the beginning or the end of proof bitmap should be invalid
- Root can be computed with invalid bitmap
- Iterator gets blocked with large query
- common_prefix returns common boolean not in prefix
- Panic due to lack of proof's bitmap's length validation
- Lack of length validation for leaf keys in Sparse Merkle Tree proof verification
- Add deepscan integration
- Improve `verify` interface
- Change SMT prefix for leaf to avoid collision
- Not all sibling hashes need to be used while checking a proof
- Add a new interface to remove query keys from proof
- Allow storing empty key in SMT
- Update validation for verify function in SMT
- Add key length validation when updating the SMT
- Missing checks for array length and handling of invalid non-inclusion proof
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lisk-db.