Skip to content

Releases: kriszyp/lmdb-js

v2.0.0-alpha2

25 Oct 22:38
Compare
Choose a tag to compare
Update version

v2.0.0-alpha1

24 Oct 21:49
Compare
Choose a tag to compare
Remove unnecessary byte filling

v1.6.11

21 Oct 16:08
Compare
Choose a tag to compare
Separate centos and debian build

v1.6.10

21 Oct 14:07
Compare
Choose a tag to compare
Try to prebuild across linux too

test-release

06 Oct 03:40
Compare
Choose a tag to compare
Do hexdump first

v1.6.8b

18 Sep 02:57
Compare
Choose a tag to compare
v1.6.8b Pre-release
Pre-release
Try to build macos arm64

v1.6.8

16 Sep 11:10
Compare
Choose a tag to compare
v1.6.8 Pre-release
Pre-release
Skip old tests to run

Faster gets and query/range retrieval

30 Jun 20:58
Compare
Choose a tag to compare

This release includes a significant overhaul of how get and query/range retrievals are performed to reduce the amount of native calls and the number of JS objects that have to be transmitted across the native calls. This also facilitates and accompanies adding support for V8's new fast-api-calls feature, which also improves performance. This can yield over a 50% performance improvement in get operations, and over twice the speed for iterating through ranges, with small payloads where deserialization is not the dominant cost. There are also very large improvements in the performance of count operations and offset handling as well.

Also related to these changes is switching (back) to serializing and deserializing keys in JS (instead of C++), which reduces the number of JS value/objects cross the native call barrier. This also opens the door for more customized JS key serialization strategies (negation, custom UUID handlers, and potentially more performant little endian format).

Faster binary access, binary and count functions, ordered-binary data encoding

20 Jun 12:58
Compare
Choose a tag to compare

The latest point releases include performance improvements for accessing binary data. This should improve performance when using encoding: 'binary'. There are also now dedicated binary methods, getBinary/getBinaryFast that are available for getting binary data even if the store is using a different encoding.

There are now count functions (getCount, getKeysCount, getValuesCount) for faster access to getting a count of entries in a range.

ordered-binary is now available as an encoding option. This may be useful when create index stores that are primarily use to store references to keys in other stores (and this is often done in combination with the dupSort option).

Improved resizing and transaction ordering

18 May 03:27
Compare
Choose a tag to compare

Database resizing has now been completely internalized and done on the fly within LMDB itself, and does not require throwing any errors or restarting any transactions, which makes it more efficient, easy and deterministic to run transaction callbacks.
There are now new defaults and options for ordering asynchronous transactions and standalone operations.
Synchronous transactions now execute as a child transaction where possible (inside an existing transaction without writemaps or caching).