Commit 13dd754a by Alan Mishchenko

Suggested changes to counting time in Abc_Clock()

parent b91c4165
...@@ -62,7 +62,7 @@ endif ...@@ -62,7 +62,7 @@ endif
endif endif
LIBS := -ldl LIBS := -ldl -lrt
ifneq ($(READLINE),0) ifneq ($(READLINE),0)
CFLAGS += -DABC_USE_READLINE CFLAGS += -DABC_USE_READLINE
......
...@@ -271,18 +271,18 @@ static inline int Abc_Lit2LitL( int * pMap, int Lit ) { return Abc_LitNo ...@@ -271,18 +271,18 @@ static inline int Abc_Lit2LitL( int * pMap, int Lit ) { return Abc_LitNo
typedef ABC_INT64_T abctime; typedef ABC_INT64_T abctime;
static inline abctime Abc_Clock() static inline abctime Abc_Clock()
{ {
static abctime PeriodNum = 0; #if defined(LIN) || defined(LIN64)
static clock_t Period = ((abctime)1 << 30); struct timespec ts;
clock_t ClockTime = clock(); if ( clock_gettime(CLOCK_THREAD_CPUTIME_ID, &ts) < 0 )
if ( ClockTime >= Period ) return (abctime)-1;
{ abctime res = ((abctime) ts.tv_sec) * CLOCKS_PER_SEC;
ClockTime -= Period; res += (((abctime) ts.tv_nsec) * CLOCKS_PER_SEC) / 1000000000;
PeriodNum++; return res;
} #else
return PeriodNum * Period + ClockTime; return (abctime) clock();
#endif
} }
// bridge communication // bridge communication
#define BRIDGE_NETLIST 106 #define BRIDGE_NETLIST 106
#define BRIDGE_ABS_NETLIST 107 #define BRIDGE_ABS_NETLIST 107
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment