View previous topic :: View next topic |
Author |
Message |
chris421
Joined: 07 Apr 2005 Posts: 53
|
Posted: Sat May 19, 2007 7:06 Post subject: Can someone re confirm the benchmarks under NWNX4 1.08? |
|
|
The old NWNX2 ODBC2 doc that compared query times between SQLLite, MySQL and the native bioware DB--can someone re run a similar benchmark for NWNX4?
...something is very wrong.
http://www.nwnx.org/phpBB2/viewtopic.php?p=6229#6229
Thanks. |
|
Back to top |
|
|
chris421
Joined: 07 Apr 2005 Posts: 53
|
Posted: Sat May 19, 2007 21:31 Post subject: |
|
|
Something was very wrong with the performance of the binaries posted for NWNX4 1.08 beta1.
But I just recompiled from Pap's latest source and the numbers are now about 20 times better than before. The old 1.08 NWNX4_Hook.dll was about 4K fatter than mine.
Still though, I can't compete with Obsidian's 2DA cache. The first run you see GetDBString is neck and neck with Get2DAString.
NWNX4 1.08 (recompiled) / MySQL 5.0.41
Quote: |
1
Starting timer QUERY_TIMER19
Stopping timer QUERY_TIMER19: 51987 µs / 51.987 msec / 0.052 sec
2
Starting timer QUERY_TIMER19
Stopping timer QUERY_TIMER19: 39898 µs / 39.898 msec / 0.040 sec
3
Starting timer QUERY_TIMER19
Stopping timer QUERY_TIMER19: 49655 µs / 49.655 msec / 0.050 sec
4
Starting timer QUERY_TIMER19
Stopping timer QUERY_TIMER19: 42686 µs / 42.686 msec / 0.043 sec
5
Starting timer QUERY_TIMER19
Stopping timer QUERY_TIMER19: 50503 µs / 50.503 msec / 0.051 sec
6
Starting timer QUERY_TIMER19
Stopping timer QUERY_TIMER19: 17915 µs / 17.915 msec / 0.018 sec |
But the second run, Obsidian cache kicks in and I get smoked.
Quote: |
1
Starting timer QUERY_TIMER19
Stopping timer QUERY_TIMER19: 50101 µs / 50.101 msec / 0.050 sec
2
Starting timer QUERY_TIMER19
Stopping timer QUERY_TIMER19: 2715 µs / 2.715 msec / 0.003 sec
3
Starting timer QUERY_TIMER19
Stopping timer QUERY_TIMER19: 50020 µs / 50.020 msec / 0.050 sec
4
Starting timer QUERY_TIMER19
Stopping timer QUERY_TIMER19: 3368 µs / 3.368 msec / 0.003 sec
5
Starting timer QUERY_TIMER19
Stopping timer QUERY_TIMER19: 50246 µs / 50.246 msec / 0.050 sec
6
Starting timer QUERY_TIMER19
Stopping timer QUERY_TIMER19: 2723 µs / 2.723 msec / 0.003 sec |
|
|
Back to top |
|
|
Papillon x-man
Joined: 28 Dec 2004 Posts: 1060 Location: Germany
|
Posted: Sun May 20, 2007 14:35 Post subject: |
|
|
Should I have done something wrong with the binaries that I posted for 1.08 beta ? I will have to investigate this, since the first performance tests showed a similar performance to 1.07.
If OE is caching the 2DAs in a hash, you will have a hard time beating their performance. As would always be the case with a general purpose approach vs. a domain specific approach. _________________ Papillon |
|
Back to top |
|
|
Papillon x-man
Joined: 28 Dec 2004 Posts: 1060 Location: Germany
|
Posted: Fri Jun 01, 2007 20:56 Post subject: |
|
|
Note: With 1.08 beta 2, you should be able to read 500 rows from MySQL (each with one column) in 7,6 ms, while in 1.07, the same code takes 15,3 ms to run.
I do not know what was wrong with the beta 1 binaries, but I can not reproduce any slowness now, either. So it should be good now. _________________ Papillon |
|
Back to top |
|
|
Grinning Fool
Joined: 12 Feb 2005 Posts: 264
|
Posted: Sat Jun 02, 2007 19:16 Post subject: |
|
|
could you post your benchmark code? I'd like to run the same against loading the 2da into the hashmap plugin , and see how it compares to 'native' 2da access. _________________ Khalidine, a NWN2 persistent world
Looking for volunteers. |
|
Back to top |
|
|
chris421
Joined: 07 Apr 2005 Posts: 53
|
Posted: Sun Jun 10, 2007 18:38 Post subject: |
|
|
Grinning Fool wrote: | could you post your benchmark code? I'd like to run the same against loading the 2da into the hashmap plugin , and see how it compares to 'native' 2da access. |
Sure. My include, the revised stress test script and the data itself are all here. |
|
Back to top |
|
|
Grinning Fool
Joined: 12 Feb 2005 Posts: 264
|
Posted: Mon Jun 11, 2007 2:34 Post subject: |
|
|
Sweet, thanks _________________ Khalidine, a NWN2 persistent world
Looking for volunteers. |
|
Back to top |
|
|
|