summaryrefslogtreecommitdiffstats
path: root/src/misc/vec
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2018-09-08 11:41:20 +0300
committerAlan Mishchenko <alanmi@berkeley.edu>2018-09-08 11:41:20 +0300
commitf38ea72b899c0ea5adfa1a131811c7cc84e52c01 (patch)
treedeefeb8e5ff04999f79c9bff47532a963cf0b1d0 /src/misc/vec
parent86f76e951905da92d98b1c4383ad66ae4f83dc7c (diff)
downloadabc-f38ea72b899c0ea5adfa1a131811c7cc84e52c01.tar.gz
abc-f38ea72b899c0ea5adfa1a131811c7cc84e52c01.tar.bz2
abc-f38ea72b899c0ea5adfa1a131811c7cc84e52c01.zip
Hash table profiling.
Diffstat (limited to 'src/misc/vec')
-rw-r--r--src/misc/vec/vecMem.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/misc/vec/vecMem.h b/src/misc/vec/vecMem.h
index 72b653b7..c2bd06f0 100644
--- a/src/misc/vec/vecMem.h
+++ b/src/misc/vec/vecMem.h
@@ -341,10 +341,24 @@ static int * Vec_MemHashLookup( Vec_Mem_t * p, word * pEntry )
return pSpot;
return pSpot;
}
+static void Vec_MemHashProfile( Vec_Mem_t * p )
+{
+ int e;
+ for ( e = 0; e < 1000; e++ )
+ {
+ int Count = 0;
+ int * pSpot = Vec_IntEntryP( p->vTable, e );
+ for ( ; *pSpot != -1; pSpot = Vec_IntEntryP(p->vNexts, *pSpot) )
+ Count++;
+ printf( "%d ", Count );
+ }
+ printf( "\n" );
+}
static void Vec_MemHashResize( Vec_Mem_t * p )
{
word * pEntry;
int i, * pSpot;
+ //Vec_MemHashProfile( p );
Vec_IntFill( p->vTable, Abc_PrimeCudd(2 * Vec_IntSize(p->vTable)), -1 );
Vec_IntClear( p->vNexts );
Vec_MemForEachEntry( p, pEntry, i )