netgen/base
Anton Blanchard 8996fe03dc Increase OBJHASHSIZE
I have a design that is taking quite a long time for netgen to complete LVS
checking. Profiles show a large chunk of runtime is in the hash functions.

Some of the hashtables are very sparsely populated, but others are
heavily used. One hashtable has chains of over 250. Longer term it would
be worth investigating resizing the hashtables (or perhaps using other
data strutures), but for now I looked at what changing the number of
hash buckets (OBJHASHSIZE) does for performance:

OBJHASHSIZE	time (mm:ss)
997		24:18
10093		 4:42
42073		 3:12
104729		 2:51

I somewhat arbitrarily chose 42073 which gives us a 7.6x improvement in
runtime.
2021-01-15 18:24:34 -07:00
..
Depend Initial commit at Mon May 18 09:27:46 EDT 2015 by tim on stravinsky 2015-05-18 09:27:46 -04:00
Makefile Added new handling for verilog structural netlists, and fixed 2018-04-12 17:09:10 -04:00
actel.c Overhaul of the hash table method. Original method used global 2016-06-23 10:13:18 -04:00
actellib.c Initial commit at Mon May 18 09:27:46 EDT 2015 by tim on stravinsky 2015-05-18 09:27:46 -04:00
anneal.c Removed all instances of macro INLINE, as this is showing up now 2016-10-24 13:42:08 -04:00
bottomup.c Removed all instances of macro INLINE, as this is showing up now 2016-10-24 13:42:08 -04:00
ccode.c Initial commit at Mon May 18 09:27:46 EDT 2015 by tim on stravinsky 2015-05-18 09:27:46 -04:00
config.h Removed all instances of macro INLINE, as this is showing up now 2016-10-24 13:42:08 -04:00
dbug.h Initial commit at Mon May 18 09:27:46 EDT 2015 by tim on stravinsky 2015-05-18 09:27:46 -04:00
embed.c Corrected missing tcl.h includes, which are needed in files that 2018-06-17 15:05:15 -04:00
embed.h Initial commit at Mon May 18 09:27:46 EDT 2015 by tim on stravinsky 2015-05-18 09:27:46 -04:00
ext.c Added new handling for verilog structural netlists, and fixed 2018-04-12 17:09:10 -04:00
flatten.c Changed the default string size for tmpstr in flattenInstancesOf 2020-03-26 09:04:52 -04:00
greedy.c Initial commit at Mon May 18 09:27:46 EDT 2015 by tim on stravinsky 2015-05-18 09:27:46 -04:00
hash.c Corrected missing tcl.h includes, which are needed in files that 2018-06-17 15:05:15 -04:00
hash.h Corrected a number of function returns, mainly to avoid compile- 2018-01-26 11:56:41 -05:00
inetcomp.c Initial commit at Mon May 18 09:27:46 EDT 2015 by tim on stravinsky 2015-05-18 09:27:46 -04:00
netcmp.c Found a counterexample which shows that the fast symmetry breaking 2020-10-08 09:43:25 -04:00
netcmp.h Found a counterexample which shows that the fast symmetry breaking 2020-10-08 09:43:25 -04:00
netfile.c Corrected the routines DescendCountQueue and DescendCompareQueue 2020-07-24 20:50:07 -04:00
netfile.h Corrected the routines DescendCountQueue and DescendCompareQueue 2020-07-24 20:50:07 -04:00
netgen.c Corrected a potential crash condition while doing series combination. 2021-01-08 09:55:00 -05:00
netgen.h Fairly substantial overhaul of the tokenizing routine to better 2019-01-09 20:26:38 -05:00
ntk.c Corrected missing tcl.h includes, which are needed in files that 2018-06-17 15:05:15 -04:00
objlist.c Corrected problems with the port count routine not being specified 2020-10-07 21:32:07 -04:00
objlist.h Increase OBJHASHSIZE 2021-01-15 18:24:34 -07:00
pdutils.c Initial commit at Mon May 18 09:27:46 EDT 2015 by tim on stravinsky 2015-05-18 09:27:46 -04:00
pdutils.h Initial commit at Mon May 18 09:27:46 EDT 2015 by tim on stravinsky 2015-05-18 09:27:46 -04:00
place.c Corrected problems with the port count routine not being specified 2020-10-07 21:32:07 -04:00
print.c Initial commit at Mon May 18 09:27:46 EDT 2015 by tim on stravinsky 2015-05-18 09:27:46 -04:00
print.h Initial commit at Mon May 18 09:27:46 EDT 2015 by tim on stravinsky 2015-05-18 09:27:46 -04:00
proto.h Initial commit at Mon May 18 09:27:46 EDT 2015 by tim on stravinsky 2015-05-18 09:27:46 -04:00
query.c Corrected problems with the port count routine not being specified 2020-10-07 21:32:07 -04:00
query.h Initial commit at Mon May 18 09:27:46 EDT 2015 by tim on stravinsky 2015-05-18 09:27:46 -04:00
random.c Initial commit at Mon May 18 09:27:46 EDT 2015 by tim on stravinsky 2015-05-18 09:27:46 -04:00
regexp.h Initial commit at Mon May 18 09:27:46 EDT 2015 by tim on stravinsky 2015-05-18 09:27:46 -04:00
spice.c Made several corrections to handling of proxy pins when matching 2020-07-30 22:51:34 -04:00
test.c Initial commit at Mon May 18 09:27:46 EDT 2015 by tim on stravinsky 2015-05-18 09:27:46 -04:00
timing.c Initial commit at Mon May 18 09:27:46 EDT 2015 by tim on stravinsky 2015-05-18 09:27:46 -04:00
timing.h Initial commit at Mon May 18 09:27:46 EDT 2015 by tim on stravinsky 2015-05-18 09:27:46 -04:00
verilog.c Added patch from Mitch Bailey which sorts the objects in a verilog 2020-12-15 09:57:49 -05:00
wombat.c Initial commit at Mon May 18 09:27:46 EDT 2015 by tim on stravinsky 2015-05-18 09:27:46 -04:00
xilinx.c Corrected a number of function returns, mainly to avoid compile- 2018-01-26 11:56:41 -05:00
xillib.c Initial commit at Mon May 18 09:27:46 EDT 2015 by tim on stravinsky 2015-05-18 09:27:46 -04:00
xnetgen.c Fixed a bug in the combine routine that causes a segfault; added 2017-01-07 06:56:51 -05:00
xnetgen.h Initial commit at Mon May 18 09:27:46 EDT 2015 by tim on stravinsky 2015-05-18 09:27:46 -04:00