76 lines
3.1 KiB
Plaintext
76 lines
3.1 KiB
Plaintext
benchmarks
|
|
==========
|
|
All measurements on my Athlon64@1.1GHz, 1 GB RAM, RAID5, Hardened Gentoo Linux 2.6.23
|
|
From svn47 all measurements on my Athlon64 X2@1GHz, 2GB RAM
|
|
All measurements were ran several times in a row, unless otherwise noted the computer was mostly idle
|
|
svn12/15 were with PostgreSQL, svn23 onwards with MySQL
|
|
All import measurements were taken immediately after reseting the tables
|
|
|
|
svn12, whilst compiling open office in the background
|
|
=====
|
|
reseting tables (incl filling default data): 0.5-0.6s
|
|
importing one hand from a file: 0.5-0.7s
|
|
|
|
svn15
|
|
=====
|
|
reseting tables (incl filling default data): 0.35-0.4s
|
|
importing one FTP hand from a file: 0.2-0.3s or 12-18k/hr
|
|
importing 51 FTP hands: 2.8-2.9s or 63-66k/hr
|
|
The large speedup will be partially due to not compiling in the background, and
|
|
partially due to less connecting/disconnecting the DB I'd imagine.
|
|
I'm VERY happy with this performance, but large gains could probably be made by
|
|
making the importer just a bit more sensible.
|
|
|
|
svn23
|
|
=====
|
|
reseting tables (incl filling default data): 0.3-0.35s
|
|
importing 75 PS hands: 3.2s or 84k/hr
|
|
importing 180 FTP hands: 7.7-7.9s 82k/hr
|
|
This is the rewrite in import_FTP_and_PS.py, svn12/15 are with import_file.py
|
|
Nice, it's substantially faster inspite of supporting PS and FTP (ish) rather
|
|
than just FTP and handling more special cases.
|
|
|
|
svn24
|
|
=====
|
|
importing 75 PS hands: 3.2-3.3s or 82k/hr
|
|
importing 507 FTP hands: 23.5-23.8s or 77k/hr
|
|
importing 947 FTP hands: 76.2-72.7s or 44k/hr
|
|
As you can see FTP has gotten about 6% slower on 500 hands - but the much expanded handling
|
|
of new cases (particularly the ante folding will be ALOT of extra string
|
|
comparisons) easily explains that. In fact I expected a much bigger impact.
|
|
(I suspect this is due to the parsing pausing whilst my shell catches up)
|
|
|
|
svn47
|
|
=====
|
|
It significantly slows down as the database gets larger, after a few thousand
|
|
hands it got to just one hand per second and slower. However, around 90% of the
|
|
CPU load was MySQL. Any tips are most welcome..
|
|
|
|
svn52 (whilst watching movie in a small window)
|
|
=====
|
|
Importing 2500 hands (mixed sites+types): 6m15s or 31k/hr (ran twice)
|
|
Of these 230 were skipped as duplicate or partial so counting 2270 hands
|
|
|
|
svn53 (whilst watching movie in a small window)
|
|
=====
|
|
Importing the 2270 hands from svn52: 1m50 or 74k/hr (82 if counting dupes/partial)
|
|
Importing my 35661 (plus 427 dupe/part) hands: 51m51s or 41k/hr (ran once)
|
|
|
|
The dbsize still has a significant impact, but with these sizes certainly it's
|
|
just not a problem. If anyone runs a larger database let me know how long it takes.
|
|
Thanks bwarycha for the tip with the foreign keys!
|
|
|
|
|
|
License
|
|
=======
|
|
Trademarks of third parties have been used under Fair Use or similar laws.
|
|
|
|
Copyright 2008 Steffen Jobbagy-Felso
|
|
Permission is granted to copy, distribute and/or modify this
|
|
document under the terms of the GNU Free Documentation License,
|
|
Version 1.2 as published by the Free Software Foundation; with
|
|
no Invariant Sections, no Front-Cover Texts, and with no Back-Cover
|
|
Texts. A copy of the license can be found in fdl-1.2.txt
|
|
|
|
The program itself is licensed under AGPLv3, see agpl-3.0.txt
|