diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2018-09-08 11:41:20 +0300 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2018-09-08 11:41:20 +0300 |
commit | f38ea72b899c0ea5adfa1a131811c7cc84e52c01 (patch) | |
tree | deefeb8e5ff04999f79c9bff47532a963cf0b1d0 /src/misc | |
parent | 86f76e951905da92d98b1c4383ad66ae4f83dc7c (diff) | |
download | abc-f38ea72b899c0ea5adfa1a131811c7cc84e52c01.tar.gz abc-f38ea72b899c0ea5adfa1a131811c7cc84e52c01.tar.bz2 abc-f38ea72b899c0ea5adfa1a131811c7cc84e52c01.zip |
Hash table profiling.
Diffstat (limited to 'src/misc')
-rw-r--r-- | src/misc/vec/vecMem.h | 14 |
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 ) |