PBMemoryMappedFiles
Latest version: 1.0.0.0
Category: Tags: ,

Component for handling Memory Mapped Files will store matrices, vectors or the whole array of files in the RAM and share this data between several programs. Now mapping files into memory is as easy as in Linux, Unix or Mac – just one row of code is enough. For reference, in Windows one should write many rows of code to use memory-mapped files.

PBMemoryMappedFiles will provide you with:

Just call a win32 API CreateFileMapping or MapViewOfFile from any application to get access to the memory. Many  programming languages can access memory-mapped files:

No more win32 api related crashes! We made sure that all is functioning well. No RW requests to restricted or non-existing memory areas.

Data typeVectorMatrix
ByteTByteVectorTByteMatrix
WordTWordVectorTWordMatrix
CardinalTCardinalVectorTCardinalMatrix
IntegerTIntegerVectorTIntegerMatrix
Int64TInt64VectorTInt64Matrix
SingleTSingleVectorTSingleMatrix
DoubleTDoubleVectorTDoubleMatrix

  • Merge vectors, Merge matrices
  • Fill with random values/zeros,  create from file, save to file
  • Add rows/columns, insert rows/columns, get row/column, delete rows/columns

Use cases

Unload heavy-load calculations to external program

You have a Delphi application which collects data such as images, video streams, matrices. Your task is to manipulate this data and return the result back to the user. But you are not familiar with processing this data in Delphi. And to be fair, Delphi does not offer a convenient way to process this data in efficient manner.

With PBMemoryMappedFiles all you have to do is just map the data between 2 applications and pick a library you are most familiar with:

  • Python numpy
  • C BLAS (Basic Linear Algebra Subprograms)
  • you name it…
Microservices and failure-resistant systems

You are developing software for a critical use case, which should run at all costs, despite possible hardware and software failures:

  • Spacecraft software (like Apollo Guidance System)
  • Medical software
  • Military software
  • Software for work with Hazardous materials: nuclear, chemical, etc.

With PBMemoryMappedFiles you can divide your 1 program into N separate applications (also called microprocesses, jobs, actors, cores). Just map the data between all microservices involved and you are good to go.

Prerequirements

OS compatibility

Microsoft Windows
7 SP2 x64
8 x64
8.1 x64
10 x64
11 x64

RAD Studio compatibility

Delphi
10 Seattle
10.1 Berlin
10.2 Tokyo
10.3 Rio
10.4 Sydney
11 Alexandria