logo logo

 Back to main page

The NWNX Community Forum

 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
 
Can someone re confirm the benchmarks under NWNX4 1.08?

 
Post new topic   Reply to topic    nwnx.org Forum Index -> Development
View previous topic :: View next topic  
Author Message
chris421



Joined: 07 Apr 2005
Posts: 53

PostPosted: Sat May 19, 2007 7:06    Post subject: Can someone re confirm the benchmarks under NWNX4 1.08? Reply with quote

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
View user's profile Send private message
chris421



Joined: 07 Apr 2005
Posts: 53

PostPosted: Sat May 19, 2007 21:31    Post subject: Reply with quote

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
View user's profile Send private message
Papillon
x-man


Joined: 28 Dec 2004
Posts: 1060
Location: Germany

PostPosted: Sun May 20, 2007 14:35    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website MSN Messenger
Papillon
x-man


Joined: 28 Dec 2004
Posts: 1060
Location: Germany

PostPosted: Fri Jun 01, 2007 20:56    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website MSN Messenger
Grinning Fool



Joined: 12 Feb 2005
Posts: 264

PostPosted: Sat Jun 02, 2007 19:16    Post subject: Reply with quote

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
View user's profile Send private message
chris421



Joined: 07 Apr 2005
Posts: 53

PostPosted: Sun Jun 10, 2007 18:38    Post subject: Reply with quote

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
View user's profile Send private message
Grinning Fool



Joined: 12 Feb 2005
Posts: 264

PostPosted: Mon Jun 11, 2007 2:34    Post subject: Reply with quote

Sweet, thanks
_________________
Khalidine, a NWN2 persistent world

Looking for volunteers.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    nwnx.org Forum Index -> Development All times are GMT + 2 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group