Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.
CVSROOT: /usr/local/cvs Module name: cvsnt Changes by: abarrett at nodomain.org Fri Jun 15 04:55:14 2007 On host: mail.march-hare.com Directory: cvsnt/src M add.cpp CVSNT_BRANCH_2_5_03_2382 1.20.2.67.6.5 -> 1.20.2.67.6.6 Bug Id: 4964 M entries.cpp CVSNT_BRANCH_2_5_03_2382 1.23.2.46.6.5 -> 1.23.2.46.6.6 Bug Id: 4964 M hash.cpp CVSNT_BRANCH_2_5_03_2382 1.12.2.21.8.6 -> 1.12.2.21.8.7 Bug Id: 4964 M hash.h CVSNT_BRANCH_2_5_03_2382 1.13.2.8.8.1 -> 1.13.2.8.8.2 Bug Id: 4964 M main.cpp CVSNT_BRANCH_2_5_03_2382 1.71.2.151.6.5 -> 1.71.2.151.6.6 Bug Id: 4964 M subr.cpp CVSNT_BRANCH_2_5_03_2382 1.62.2.81.6.7 -> 1.62.2.81.6.8 Bug Id: 4964 Directory: cvsnt/windows-NT M win32.cpp CVSNT_BRANCH_2_5_03_2382 1.72.2.150.6.7 -> 1.72.2.150.6.8 Bug Id: 4964 Log message: OK here is part 2! BUILD 2733. New settings: - AllocMax2=262144 - AllocThreshold=0 (use "big block of memory" if lines >= AllocThreshold) - EntriesLineCount=0 These settings are purely debug: - TestSpeed1=0 - PerformFind=1 To disable "big block of mem" do one or both: - AllocMax2=0 - AllocThreshold=0 (ie: it is off by default currently) Note: If EntriesLineCount=0 (the default) the assumed line count is 1, which in turn enables "big block of mem" if AllocThreshold is any value above 0. If AllocMax2 is a value other than zero, then that amount of memory will be allocated in one go at the beginning of Entries_Open and released in Entries_Close. That memory is then used by all the hash routines that work on lists and nodes, including strdup's so that memory is not constantly fetched (also potentially stops fragmentation of memory). This is basically designed to stop CVSNT Server thrashing the memory allocation routine. The actual "bug" that was causing the slowdown was bug4804 - having the check for "use windows native memory" in subr xmalloc() in combination with the number of times that Entries_Open calls xmalloc() was just a disaster. The latest 4964 patch checks the setting of "use windows native memory" at startup in main() and that is all. However all these perf changes may result in an improvement - but I've ensured they are now all off by default, in particular: - HeapCreate2=0 - EntriesLineCount=0 - TestSpeed1=0 - PerformFind=1 - HeapSerialize=1 For maximum performance of add (and entries function generally, eg: edit) set these: - HeapCreate2=1 - HeapSerialize=0 - AllocThreshold=1 - ListCacheSize=8192, - NodeCacheSize=16384 Optionally you can set: - HeapInitial to a value > 262144 - EntriesLineCount=1 - AllocThreshold to a value > 1 (eg: 128)