Dear Monks,
As some of you know, I've been working on a pure-Perl database engine to replace my organization's dependence on Oracle's Berkeley DB. At first, I was going to have the same API, but after some thought, I decided to start fresh.
Well, that's not exactly what I wanted to discuss, but rather since I needed some test cases to verify that the engine was working, I developed some to compare Berkeley DB to my DB (haven't decided on a name yet).
Since, I'm using only core Perl functions, I was asked what versions of Perl would be supported. So I found a older AIX power 3 server with AIX 5.2, single processor with 2GB of ram and SCSI drives that had perl5.6.1 and perl5.12.2 on it. I checked ( with perl -V ) that both Perls were compiled with the gcc compiler and had similar config parameters. I ran the test cases, and as I expected, the results showed a marked improvement of Perl from version 5.6.1. I ran it 3 times, and all times were consistent.
What you see below is the 3rd running of the tests, using both Perl versions. The scripts use the same algorithms and the files are in the exact same directories (cleared before each run). The only difference I know of is Perl.
Pyr:# perl5.6.1 flexbase.plx ## Start: VSZ-1980_KB RSS-3020_KB BLOCK: 2048 ( 150000 ) Write: 575 260/sec Total: 150000 Hits: 109196 Misses: 4718|2 +062 ReadNext: 36 4166/sec Total: 150000 ## End: VSZ-22212_KB RSS-23256_KB Diff:20232|20236_KB-0 BLOCK: 204 +8|4096
Pyr:# perl5.12.2 flexbase.plx ## Start: VSZ-2124_KB-0 RSS-2200_KB-0 BLOCK: 2048 ( 150000 ) Write: 503 298/sec Total: 150000 Hits: 109196 Misses: 4718|2 +062 ReadNext: 34 4411/sec Total: 150000 ## End: VSZ-20792_KB-0 RSS-20868_KB-0 Diff:18668|18668_KB-0 BLOCK: + 2048|4096
The newer Perl writes and then reads faster and uses less memory to get the job done. I use a lot of hashes in the engine, and maybe that is an area of improvement.
Perl just gets better and better!
Thank you
"Well done is better than well said." - Benjamin Franklin
In reply to Perl performance just gets better and better! by flexvault
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |