Synopse Big Table has been updated into version 1.9.2.
- new TSynBigTable.GetLength() method;
- new TSynBigTable.ReadToStream() method;
- can set additional file open mode flags in TSynBigTable.Create;
- fixed an obscure possible issue for saving/loading TSynBigTableString with
string IDs bigger in size than 65535 chars;
- Range Checking forced OFF to avoid problems with some projects;
- fFile type modified to THandle, instead of integer;
To be downloaded from http://synopse.info/files/SynBigTable.zip.
I tried TSynBigTable with huge data, to have some benchmark of our little
database engine.
That is, more than 150,000 records, for a whole data of 3 GB.
It worked without any problem, with some good performance. The only bottleneck
here is the hard drive speed itself.
In short:
- creating 150,450 records, for 3 GB of data: 36 seconds;
- opening and reading all records: 2 seconds (all 3 GB of data remains in the
PC RAM);
- opening and reading all records, random access: 3 seconds;
- packing after deletion: 46 seconds (the whole 3 GB is read then written in
place);
- the benchmarks are very close with integer keys (i.e. TSynBigTable) or string
keys (i.e. TSynBigTableString);
- all benchmark were performed on my laptop, with 6 GB of RAM, running under
Windows Seven 64 bit, with Nod32 running, and an internal 2.5 inchs hard
drive.
More details about this benchmark, comments and feeback are welcome on our forum.