wiki:ReleaseOverview/1.4.24

Release Overview for 1.4.24

This page contains a high level description of the most notable changes in this release. For full details of user-visible changes, see the NEWS files in each module:

See also the full list of bug reports marked as fixed in this release.

Memory use reductions

  • When committing changes with the default glass backend we were allocating blocks for all possible levels of the built-in cursor in each writable table, even those levels that weren't in use.

The worst case is a really small database with all optional tables existing which would have 54 unused allocations of blocksize + 8 bytes, which with the default 8K block size is ~432KB per WritableDatabase; if you explicitly ask for 64K block size it'll be ~3.4MB.

For a more typical WritableDatabase it's probably going to be more like half these numbers.

  • Reorder fields in each MSet entry to avoid structure padding on x86-64 and probably other 64-bit platforms. This reduces the memory needed to hold an MSet by 8 bytes per entry on such platforms.

Portability

  • Numerous portability improvements.
Last modified 6 months ago Last modified on 06/11/23 23:34:06
Note: See TracWiki for help on using the wiki.