Date: Mon, 27 Dec 1999 09:13:26 +0200 (EET)
From: =?ISO-8859-1?Q?Manu_M=E4ki?= <mtmaki@students.turkuai.fi>
Short: Search lengths too long
Type: Bug
State: Abandoned - no longer reported.
Hi again :)
Uhm, I'm probably having a small problem, as my mud's hash table search
lengths seem to be a bit ridiculous, you said a rule of a thumb would be
around 1.5 or so, well currently it's 9.237 and today earlier it was
around 15. Could this been seen as lag or so? And what should I do to fix
this. Here are some driver settings I have...
#define EVALUATOR_STACK_SIZE      2000
#define HTABLE_SIZE               6144
#define ITABLE_SIZE               256
#define OTABLE_SIZE               2048
#define APPLY_CACHE_BITS            12
#define RXCACHE_TABLE            16384
Currently status tables command shows:
Calls to add_message: 6476   Packets: 867   Average packet size: 353.74
Calls to apply_low: 191269    Cache hits: 185197 (96.83%)
Object status:
--------------
Objects total:                        716
Objects in list:                      683
Objects processed in last cycle:      681 ( 99.7% - avg. 100.0%)
Object name hash table status:
------------------------------
Average hash chain length                   0.33
Searches/average search length       14546 (0.85)
External lookups succeeded (succeed) 13137 (11464)
hash table overhead                          8192
Heart beat information:
-----------------------
Number of objects with heart beat: 17, beats: 329, reserved: 32
HB calls completed in last cycle:  18 (100.00%)
Average of HB calls completed:     99.83%
Shared string hash table:
-------------------------        Strings    Bytes
Strings malloced                   23516   844300 + 165672 overhead
Total asked for                    78656  1775212
Space actually required/total string bytes 56%
Searches: 2558270    Average search length: 10.299
Call out information:
---------------------
Number of allocated call outs:       60,     2160 bytes
Current length: 36
Regexp cache status:
--------------------
Expressions in cache:  44 (0.3%)
Memory allocated:      20302
Requests: 26162 - Found: 26118 (99.8%) - Coll: 0 (0.0% req/0.0% entries)
And 'status' command shows: 
Actions:                            2568    61632
Shadows:                              11      264
Objects:                             739   357552 (0 swapped, 0 Kbytes)
Arrays:                             6994   302696
Mappings:                           1387   404260
Prog blocks:                         284   706684 (0 swapped, 0 Kbytes)
Memory reserved:                          1000000
hash table overhead                          8192
Strings malloced                   23532   845264 + 165768 overhead
call out:                             60     2160 (current length 45)
Regexp cache:                         45    20742
                                         --------
Total:                                    3875730
Well, I'm just wondering could there be something wrong with the driver or
am I doing something wrong myself. Thanks in advance. :-)
Here are the stats you asked me to send you. :)
'status' shows
Actions:                            7183   172392
Shadows:                              23      552
Objects:                            2810  1722464 (0 swapped, 0 Kbytes)
Arrays:                            16386   646520
Mappings:                           3095   652520
Prog blocks:                         848  1895240 (0 swapped, 0 Kbytes)
Memory reserved:                          1000000
hash table overhead                         32768
Strings malloced                   28672  1042872 + 303104 overhead
call out:                            120     4320 (current length 93)
Regexp cache:                         57    26239
                                         --------
Total:                                    7502087
'status tables' shows
Calls to add_message: 56704   Packets: 8271   Average packet size: 230.05
Calls to apply_low: 2209421    Cache hits: 2109002 (95.45%)
Object status:
--------------
Objects total:                       2997
Objects in list:                     2614
Objects processed in last cycle:     2614 (100.0% - avg. 100.0%)
Object name hash table status:
------------------------------
Average hash chain length                   0.32
Searches/average search length       122261 (0.92)
External lookups succeeded (succeed) 114463 (107769)
hash table overhead                         32768
Heart beat information:
-----------------------
Number of objects with heart beat: 191, beats: 534, reserved: 224
HB calls completed in last cycle:  193 (100.00%)
Average of HB calls completed:     99.89%
Shared string hash table:
-------------------------        Strings    Bytes
Strings malloced                   28851  1063670 + 304178 overhead
Total asked for                   187369  4019690
Space actually required/total string bytes 34%
Searches: 19953062    Average search length: 19.556
Call out information:
---------------------
Number of allocated call outs:      120,     4320 bytes
Current length: 107
Regexp cache status:
--------------------
Expressions in cache:  57 (0.3%)
Memory allocated:      26239
And as you see, the average search length is a bit crazy, 19.556 :)
Well, I hope this helps.
  Manu aka Cendor@Winterkill