From f38ea72b899c0ea5adfa1a131811c7cc84e52c01 Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Sat, 8 Sep 2018 11:41:20 +0300 Subject: Hash table profiling. --- src/misc/vec/vecMem.h | 14 ++++++++++++++ src/opt/dau/dauNpn.c | 1 + 2 files changed, 15 insertions(+) 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 ) diff --git a/src/opt/dau/dauNpn.c b/src/opt/dau/dauNpn.c index b6ec9fa0..debb19f8 100644 --- a/src/opt/dau/dauNpn.c +++ b/src/opt/dau/dauNpn.c @@ -628,6 +628,7 @@ int Dau_InsertFunction( Abc_TtHieMan_t * pMan, word * pCur, int nNodes, int nInp // Dau_TablesSave( nInputs, nVars0, vTtMem, vTtMemA, vNodSup, vMapping, nFronts, clk ); return 0; } + Entry = 0; Phase = 0; //printf( "%d ", Dau_CountCompl(pCur[0], nVarsNew) ); // this is a new class -- cgit v1.2.3