AbstractMem library - PascalCoin/PascalCoin GitHub Wiki

AbstractMem library

(Introduced on May 2020)

The "AbstractMem" library is a multi-purpose generic library written in Pascal language that allows use abstract structures that are stored in memory or in disc and are automatically cached.

What does it mean? Basically the purpose of this library is to develop "high complex" data structures (like "PascalCoin" Safebox structure) that can have a big size (for example from few hundreds of Megabytes to more than 1 Gigabyte) and will be used all the time like if RAM memory. This library will use a mix of "memory" and "disc" storage with a cache process so the developer does not need to know where is the data, neither how to store on disc or recover, because library is designated to use same load/save function calls for "on memory" that "on disc"

In PascalCoin project, the usage of the AbstractMem library allows to run a PascalCoin full node in any low requeriments hardware like 1 Gb RAM and few free Gigabytes on disc.

Example: Real Safebox structure size: 800 Mb This Safebox can be accessed using AbstractMem and will only use a maximum of 200Mb of RAM, using a file/cache mechanism to access disc data when needed