Subject | Re: [ib-support] Re: just if you are curious |
---|---|
Author | Roberto Della Pasqua |
Post date | 2003-02-26T18:18:31Z |
Hi guys,
I have made the latest benchmark... due to the many requests :)
Beta3 is 20% faster than beta2 on selects.
FB BETA3 on a mine DB table composed by 550,000 records, 65 fields, 60
indexes it's exactly
20 (twenty) times faster on select statements over the original interbase*
core based DB's!!!!!
Finally FB can approach other well know db as db2, oracle, etc...
Here the results (Athlon 1700mhz, 266ddr)
www.dellapasqua.com/beta2.txt
www.dellapasqua.com/beta2.gif
www.dellapasqua.com/beta3.txt
www.dellapasqua.com/beta3.gif
www.dellapasqua.com/original.gif (this one is stopped by me after 29 queries
to not lose too time, still is enough to achieve a right average timing).
Btw I don't know the firebird source code, still I like to do you some
suggestions if you like to achieve further speed enhancement:
1) if you use standard c++ library to manage data containers, you can switch
to these open stl http://www.stlport.org, these libs are the most fast and
bug free data container libraries that exist for c++, you can use the
boolean associative array to match the logical (AND OR NOT) indexes arrays
in notime
2) in NT instead of use winsock select() and accept(), you can use winsock2
with 2threads waiting on acceptEx (without select) mapped on
a ->IOcompletionPort (with2 threads here too in concurrency to the IOCP)with
overlapped sockets: this mean use a fraction of the CPU time for the network
layer and boost reliability.
If you like some real hints, free to ask me, I already coded both two things
in C++ too (other than delphi, my favorite compiler).
Congratulations to the staff, and please to everyone subscribed to this
mailing list to advertise this DB engine to our programmer friends :)
have fun
Robi
I have made the latest benchmark... due to the many requests :)
Beta3 is 20% faster than beta2 on selects.
FB BETA3 on a mine DB table composed by 550,000 records, 65 fields, 60
indexes it's exactly
20 (twenty) times faster on select statements over the original interbase*
core based DB's!!!!!
Finally FB can approach other well know db as db2, oracle, etc...
Here the results (Athlon 1700mhz, 266ddr)
www.dellapasqua.com/beta2.txt
www.dellapasqua.com/beta2.gif
www.dellapasqua.com/beta3.txt
www.dellapasqua.com/beta3.gif
www.dellapasqua.com/original.gif (this one is stopped by me after 29 queries
to not lose too time, still is enough to achieve a right average timing).
Btw I don't know the firebird source code, still I like to do you some
suggestions if you like to achieve further speed enhancement:
1) if you use standard c++ library to manage data containers, you can switch
to these open stl http://www.stlport.org, these libs are the most fast and
bug free data container libraries that exist for c++, you can use the
boolean associative array to match the logical (AND OR NOT) indexes arrays
in notime
2) in NT instead of use winsock select() and accept(), you can use winsock2
with 2threads waiting on acceptEx (without select) mapped on
a ->IOcompletionPort (with2 threads here too in concurrency to the IOCP)with
overlapped sockets: this mean use a fraction of the CPU time for the network
layer and boost reliability.
If you like some real hints, free to ask me, I already coded both two things
in C++ too (other than delphi, my favorite compiler).
Congratulations to the staff, and please to everyone subscribed to this
mailing list to advertise this DB engine to our programmer friends :)
have fun
Robi