From ccdbccde49b7658243aab0db6df81389e742d0a3 Mon Sep 17 00:00:00 2001 From: ahodgkinson Date: Tue, 22 Aug 2006 20:54:08 +0000 Subject: [PATCH] FTK changes. Various optimizations for Solaris. git-svn-id: https://svn.code.sf.net/p/flaim/code/trunk@785 0109f412-320b-0410-ab79-c3e0c5ffbbe6 --- ftk/Makefile | 9 +- ftk/src/ftkcsum.cpp | 190 ++--------------------------------- ftk/src/ftkmisc.cpp | 4 + ftk/src/ftksys.h | 7 ++ ftk/src/ftkunix.cpp | 2 +- ftk/util/ftktest.cpp | 234 ++++++++++++++++++++++++++++--------------- 6 files changed, 179 insertions(+), 267 deletions(-) diff --git a/ftk/Makefile b/ftk/Makefile index bc22666..48f6e97 100644 --- a/ftk/Makefile +++ b/ftk/Makefile @@ -857,7 +857,7 @@ ifdef unix_target ifeq ($(target_os_family),solaris) compiler = CC exe_linker = CC - shared_linker = ld + shared_linker = CC compiler_version := $(shell $(compiler) -V 2>&1) ifneq (,$(findstring Sun C++,$(compiler_version))) sun_studio_compiler = yes @@ -931,6 +931,9 @@ ifdef unix_target ifeq ($(target_os_family),solaris) ifeq ($(usenativecc),yes) ccflags += -KPIC + ifeq ($(target_build_type),release) + ccflags += -xO3 + endif ifeq ($(sun_studio_compiler),yes) ccflags += -errwarn=%all -errtags -erroff=hidef,inllargeuse endif @@ -1109,7 +1112,7 @@ ifdef netware_target shared_linker = "$(call normpath,$(strip $(wc_dir)))/binnt/wlink.exe" compiler = "$(call normpath,$(wc_dir))/binnt/wpp386.exe" - ifneq ($(build),release) + ifneq ($(target_build_type),release) ccdefs += FLM_DEBUG endif @@ -1121,7 +1124,7 @@ ifdef netware_target ccflags += /ez /6s /w4 /za /zp1 /zq /zm /s /ei /of+ /we /bt=NETWARE - ifeq ($(build),release) + ifeq ($(target_build_type),release) ccflags += /oair else ccflags += /hc diff --git a/ftk/src/ftkcsum.cpp b/ftk/src/ftkcsum.cpp index 943e2b6..4f42016 100644 --- a/ftk/src/ftkcsum.cpp +++ b/ftk/src/ftkcsum.cpp @@ -45,8 +45,6 @@ extern "C" unsigned long ftkGetMMXSupported(void); #if defined( FLM_GNUC) || defined( FLM_WIN) || defined( FLM_NLM) #define FLM_HAVE_FAST_CHECKSUM_ROUTINES #endif -#elif defined( FLM_SPARC_PLUS) - #define FLM_HAVE_FAST_CHECKSUM_ROUTINES #endif /******************************************************************** @@ -604,178 +602,6 @@ void ftkFastXor( } #endif -/**************************************************************************** -Desc: -****************************************************************************/ -#if defined( FLM_SPARC_PLUS) -volatile void sparc_csum_code( void) -{ - // Calculate the sum and xor bytes of a checksum - - asm( ".global ftkFastChecksum"); -#ifdef FLM_64BIT - asm( ".align 8"); -#else - asm( ".align 4"); -#endif - asm( "ftkFastChecksum:"); - asm( " save %sp, -96, %sp"); - -#ifdef FLM_64BIT - asm( " ldx [%i1], %l1"); - asm( " ldx [%i2], %l2"); -#else - asm( " ld [%i1], %l1"); - asm( " ld [%i2], %l2"); -#endif - - asm( " mov %i0, %l0"); - asm( " mov %i3, %l3"); - - asm( " clr %l4"); - - asm( " csum_loop:"); - asm( " ldub [%l0], %l4"); - asm( " add %l4, %l1, %l1"); - asm( " xor %l4, %l2, %l2"); - asm( " inc %l0"); - asm( " subcc %l3, 1, %l3"); - asm( " bg csum_loop"); - asm( " nop"); - - asm( " and %l1, 0xFF, %l1"); - asm( " and %l2, 0xFF, %l2"); -#ifdef FLM_64BIT - asm( " stx %l1, [%i1]"); - asm( " stx %l2, [%i2]"); -#else - asm( " st %l1, [%i1]"); - asm( " st %l2, [%i2]"); -#endif - asm( " ret"); - asm( " restore"); - asm( ".type ftkFastChecksum, #function"); - asm( ".size ftkFastChecksum, (.-ftkFastChecksum)"); - - // Calculate the xor byte of a checksum - - asm( ".global ftkFastXor"); -#ifdef FLM_64BIT - asm( ".align 8"); -#else - asm( ".align 4"); -#endif - asm( "ftkFastXor:"); - asm( " save %sp, -96, %sp"); - -#ifdef FLM_64BIT - asm( " ldx [%i1], %l1"); -#else - asm( " ld [%i1], %l1"); -#endif - - asm( " mov %i0, %l0"); - asm( " mov %i2, %l2"); - - asm( " clr %l3"); - -#ifdef FLM_64BIT - asm( " and %l0, 7, %l4"); -#else - asm( " and %l0, 3, %l4"); -#endif - - asm( " cmp %l4, 0"); - asm( " be xor_aligned_loop_init"); - asm( " nop"); -#ifdef FLM_64BIT - asm( " mov 8, %l5"); -#else - asm( " mov 4, %l5"); -#endif - asm( " sub %l5, %l4, %l4"); - - asm( " xor_lead_loop:"); - asm( " ldub [%l0], %l3"); - asm( " xor %l3, %l1, %l1"); - asm( " inc %l0"); - asm( " subcc %l2, 1, %l2"); - asm( " be xor_done"); - asm( " nop"); - asm( " subcc %l4, 1, %l4"); - asm( " bg xor_lead_loop"); - asm( " nop"); - - asm( " xor_aligned_loop_init:"); -#ifdef FLM_64BIT - asm( " cmp %l2, 8"); -#else - asm( " cmp %l2, 4"); -#endif - asm( " bl xor_tail_loop_init"); - asm( " nop"); - - asm( " xor_aligned_loop:"); -#ifdef FLM_64BIT - asm( " ldx [%l0], %l3"); -#else - asm( " ld [%l0], %l3"); -#endif - asm( " xor %l3, %l1, %l1"); -#ifdef FLM_64BIT - asm( " add %l0, 8, %l0"); - asm( " sub %l2, 8, %l2"); - asm( " cmp %l2, 7"); -#else - asm( " add %l0, 4, %l0"); - asm( " sub %l2, 4, %l2"); - asm( " cmp %l2, 3"); -#endif - asm( " bg xor_aligned_loop"); - asm( " nop"); - - asm( " xor_tail_loop_init:"); - asm( " cmp %l2, 1"); - asm( " bl xor_done"); - - asm( " xor_tail_loop:"); - asm( " ldub [%l0], %l3"); - asm( " xor %l3, %l1, %l1"); - asm( " inc %l0"); - asm( " subcc %l2, 1, %l2"); - asm( " bg xor_tail_loop"); - asm( " nop"); - - asm( " xor_done:"); - asm( " mov %l1, %l3"); -#ifdef FLM_64BIT - asm( " mov 7, %l2"); -#else - asm( " mov 3, %l2"); -#endif - asm( " xor_assemble_loop:"); -#ifdef FLM_64BIT - asm( " srlx %l3, 8, %l3"); -#else - asm( " srl %l3, 8, %l3"); -#endif - asm( " xor %l3, %l1, %l1"); - asm( " subcc %l2, 1, %l2"); - asm( " bg xor_assemble_loop"); - asm( " nop"); - asm( " and %l1, 0xFF, %l1"); -#ifdef FLM_64BIT - asm( " stx %l1, [%i1]"); -#else - asm( " st %l1, [%i1]"); -#endif - asm( " ret"); - asm( " restore"); - asm( ".type ftkFastXor, #function"); - asm( ".size ftkFastXor, (.-ftkFastXor)"); -} -#endif - /****************************************************************************** Desc: Sets the global variable to check if MMX instructions are allowed. ******************************************************************************/ @@ -792,8 +618,6 @@ void f_initFastCheckSum( void) // will be on at least a P5. gv_bCanUseFastCheckSum = ftkGetMMXSupported() ? TRUE : FALSE; -#elif defined( FLM_SPARC_PLUS) - gv_bCanUseFastCheckSum = TRUE; #endif } @@ -823,22 +647,24 @@ FLMUINT32 FLMAPI f_calcFastChecksum( uiXOR = *puiXOR; } +#ifdef FLM_HAVE_FAST_CHECKSUM_ROUTINES if( gv_bCanUseFastCheckSum) { ftkFastChecksum( pvData, (unsigned long *) &uiSum, (unsigned long *) &uiXOR, (unsigned long) uiLength); } else +#endif { - FLMBYTE * pucCur = pucData; - FLMBYTE * pucEnd = pucData + uiLength; + register FLMBYTE * pucCur = pucData; + register FLMBYTE * pucEnd = pucData + uiLength; while( pucCur < pucEnd) { - uiSum += *pucCur; + uiSum += *pucCur; uiXOR ^= *pucCur++; } - + uiSum &= 0xFF; } @@ -960,11 +786,13 @@ FLMBYTE FLMAPI f_calcPacketChecksum( { FLMUINT uiChecksum = 0; +#ifdef FLM_HAVE_FAST_CHECKSUM_ROUTINES if( gv_bCanUseFastCheckSum) { ftkFastXor( pvPacket, &uiChecksum, uiBytesToChecksum); } else +#endif { FLMBYTE * pucEnd; FLMBYTE * pucSectionEnd; @@ -973,7 +801,7 @@ FLMBYTE FLMAPI f_calcPacketChecksum( pucCur = (FLMBYTE *)pvPacket; pucEnd = pucCur + uiBytesToChecksum; - + #ifdef FLM_64BIT pucSectionEnd = pucCur + (sizeof( FLMUINT) - ((FLMUINT)pucCur & 0x7)); #else diff --git a/ftk/src/ftkmisc.cpp b/ftk/src/ftkmisc.cpp index bf6ddbd..384032f 100644 --- a/ftk/src/ftkmisc.cpp +++ b/ftk/src/ftkmisc.cpp @@ -39,6 +39,10 @@ F_MUTEX F_FileHdl::m_hAsyncListMutex = F_MUTEX_NULL; F_FileAsyncClient * F_FileHdl::m_pFirstAvailAsync = NULL; FLMUINT F_FileHdl::m_uiAvailAsyncCount = 0; +#ifdef FLM_SPARC_PLUS +void * gv_pSparcAsmDummy = (void *)sparc_asm_code; +#endif + FSTATIC RCODE f_initRandomGenerator( void); FSTATIC void f_freeRandomGenerator( void); diff --git a/ftk/src/ftksys.h b/ftk/src/ftksys.h index b4a3316..3b5cb0a 100644 --- a/ftk/src/ftksys.h +++ b/ftk/src/ftksys.h @@ -190,6 +190,13 @@ #define f_va_copy(to, from) ((to) = (from)) #endif + /********************************************************************** + Desc: + **********************************************************************/ + #if defined( FLM_SPARC_PLUS) + extern "C" void sparc_asm_code( void); + #endif + /********************************************************************** Desc: **********************************************************************/ diff --git a/ftk/src/ftkunix.cpp b/ftk/src/ftkunix.cpp index 985045a..daaf259 100644 --- a/ftk/src/ftkunix.cpp +++ b/ftk/src/ftkunix.cpp @@ -1316,7 +1316,7 @@ Desc: Remove this error pragma if you really intend to run with Desc: ****************************************************************************/ #if defined( FLM_SPARC_PLUS) -void sparc_asm_code( void) +extern "C" void sparc_asm_code( void) { asm( ".align 8"); asm( ".global sparc_atomic_add_32"); diff --git a/ftk/util/ftktest.cpp b/ftk/util/ftktest.cpp index 409d4b4..17800df 100644 --- a/ftk/util/ftktest.cpp +++ b/ftk/util/ftktest.cpp @@ -51,6 +51,9 @@ FSTATIC RCODE ftkTestAtomics( void); FSTATIC RCODE FLMAPI ftkAtomicIncThread( IF_Thread * pThread); +FSTATIC RCODE FLMAPI ftkAtomicIncMutexThread( + IF_Thread * pThread); + FSTATIC RCODE FLMAPI ftkAtomicDecThread( IF_Thread * pThread); @@ -4390,21 +4393,6 @@ int main( void) f_assert( F_ROGONEK == rogonek); f_assert( F_RMACRON == rmacron); - // Make sure text stuff is working - - if( RC_BAD( rc = ftkTestText())) - { - goto Exit; - } - - // Run a multi-threaded test to verify the proper operation of - // the atomic operations - - if( RC_BAD( rc = ftkTestAtomics())) - { - goto Exit; - } - // Test the checksum routines if( RC_BAD( rc = ftkFastChecksumTest())) @@ -4424,6 +4412,21 @@ int main( void) puiPacketSize++; } + // Make sure text stuff is working + + if( RC_BAD( rc = ftkTestText())) + { + goto Exit; + } + + // Run a multi-threaded test to verify the proper operation of + // the atomic operations + + if( RC_BAD( rc = ftkTestAtomics())) + { + goto Exit; + } + Exit: if( pDirHdl) @@ -4454,12 +4457,12 @@ RCODE ftkTestAtomics( void) F_MUTEX hMutex = F_MUTEX_NULL; IF_Thread * pThreadList[ F_ATOM_TEST_THREADS]; FLMUINT uiStartTime; - FLMUINT uiSlowTime = 0; - FLMUINT uiFastTime = 0; + FLMUINT uiBaseTime = 0; + FLMUINT uiToolkitTime = 0; + FLMUINT uiElapsedTime; FLMUINT uiLoop; FLMATOMIC uiTmp; - gv_refCount = 0; f_memset( pThreadList, 0, sizeof( IF_Thread *) * F_ATOM_TEST_THREADS); if( RC_BAD( rc = f_mutexCreate( &hMutex))) @@ -4479,7 +4482,7 @@ RCODE ftkTestAtomics( void) f_mutexUnlock( hMutex); } - uiSlowTime = FLM_ELAPSED_TIME( FLM_GET_TIMER(), uiStartTime); + uiBaseTime = FLM_ELAPSED_TIME( FLM_GET_TIMER(), uiStartTime); uiStartTime = FLM_GET_TIMER(); uiTmp = 0; @@ -4488,25 +4491,26 @@ RCODE ftkTestAtomics( void) f_atomicInc( &uiTmp); } - uiFastTime = FLM_ELAPSED_TIME( FLM_GET_TIMER(), uiStartTime); + uiToolkitTime = FLM_ELAPSED_TIME( FLM_GET_TIMER(), uiStartTime); - f_printf( " Slow time = %u ms, Fast time = %u ms.\n", - (unsigned)FLM_TIMER_UNITS_TO_MILLI( uiSlowTime), - (unsigned)FLM_TIMER_UNITS_TO_MILLI( uiFastTime)); - - f_printf( "Creating atomic increment threads: "); + f_printf( " Base time = %u ms, FTK time = %u ms.\n", + (unsigned)FLM_TIMER_UNITS_TO_MILLI( uiBaseTime), + (unsigned)FLM_TIMER_UNITS_TO_MILLI( uiToolkitTime)); + f_printf( "Running atomic increment test (mutex-based) ... "); + gv_refCount = 0; + uiStartTime = FLM_GET_TIMER(); + for( uiLoop = 0; uiLoop < F_ATOM_TEST_THREADS; uiLoop++) { if( RC_BAD( rc = f_threadCreate( &pThreadList[ uiLoop], - ftkAtomicIncThread))) + ftkAtomicIncMutexThread, NULL, F_DEFAULT_THREAD_GROUP, + 0, (void *)hMutex))) { goto Exit; } } - f_printf( "%u\n", uiLoop); - for( uiLoop = 0; uiLoop < F_ATOM_TEST_THREADS; uiLoop++) { pThreadList[ uiLoop]->waitToComplete(); @@ -4519,7 +4523,41 @@ RCODE ftkTestAtomics( void) goto Exit; } - f_printf( "Creating atomic decrement threads: "); + uiElapsedTime = FLM_ELAPSED_TIME( FLM_GET_TIMER(), uiStartTime); + f_printf( "Done. Time = %u\n", + (unsigned)FLM_TIMER_UNITS_TO_MILLI( uiElapsedTime)); + + f_printf( "Running atomic increment test ... "); + gv_refCount = 0; + uiStartTime = FLM_GET_TIMER(); + + for( uiLoop = 0; uiLoop < F_ATOM_TEST_THREADS; uiLoop++) + { + if( RC_BAD( rc = f_threadCreate( &pThreadList[ uiLoop], + ftkAtomicIncThread))) + { + goto Exit; + } + } + + for( uiLoop = 0; uiLoop < F_ATOM_TEST_THREADS; uiLoop++) + { + pThreadList[ uiLoop]->waitToComplete(); + f_threadDestroy( &pThreadList[ uiLoop]); + } + + if( gv_refCount != F_ATOM_TEST_THREADS * F_ATOM_TEST_ITERATIONS) + { + rc = RC_SET_AND_ASSERT( NE_FLM_FAILURE); + goto Exit; + } + + uiElapsedTime = FLM_ELAPSED_TIME( FLM_GET_TIMER(), uiStartTime); + f_printf( "Done. Time = %u\n", + (unsigned)FLM_TIMER_UNITS_TO_MILLI( uiElapsedTime)); + + f_printf( "Running atomic decrement test ... "); + uiStartTime = FLM_GET_TIMER(); for( uiLoop = 0; uiLoop < F_ATOM_TEST_THREADS; uiLoop++) { @@ -4530,8 +4568,6 @@ RCODE ftkTestAtomics( void) } } - f_printf( "%u\n", uiLoop); - for( uiLoop = 0; uiLoop < F_ATOM_TEST_THREADS; uiLoop++) { pThreadList[ uiLoop]->waitToComplete(); @@ -4544,7 +4580,13 @@ RCODE ftkTestAtomics( void) goto Exit; } - f_printf( "Creating atomic inc/dec threads: "); + uiElapsedTime = FLM_ELAPSED_TIME( FLM_GET_TIMER(), uiStartTime); + f_printf( "Done. Time = %u\n", + (unsigned)FLM_TIMER_UNITS_TO_MILLI( uiElapsedTime)); + + f_printf( "Running atomic inc/dec test ... "); + gv_refCount = 0; + uiStartTime = FLM_GET_TIMER(); for( uiLoop = 0; uiLoop < F_ATOM_TEST_THREADS; uiLoop++) { @@ -4555,8 +4597,6 @@ RCODE ftkTestAtomics( void) } } - f_printf( "%u\n", uiLoop); - for( uiLoop = 0; uiLoop < F_ATOM_TEST_THREADS; uiLoop++) { pThreadList[ uiLoop]->waitToComplete(); @@ -4569,9 +4609,13 @@ RCODE ftkTestAtomics( void) goto Exit; } + uiElapsedTime = FLM_ELAPSED_TIME( FLM_GET_TIMER(), uiStartTime); + f_printf( "Done. Time = %u\n", + (unsigned)FLM_TIMER_UNITS_TO_MILLI( uiElapsedTime)); + + f_printf( "Running atomic exchange test ... "); gv_spinLock = 0; - - f_printf( "Creating atomic exchange threads: "); + uiStartTime = FLM_GET_TIMER(); for( uiLoop = 0; uiLoop < F_ATOM_TEST_THREADS; uiLoop++) { @@ -4582,8 +4626,6 @@ RCODE ftkTestAtomics( void) } } - f_printf( "%u\n", uiLoop); - for( uiLoop = 0; uiLoop < F_ATOM_TEST_THREADS; uiLoop++) { pThreadList[ uiLoop]->waitToComplete(); @@ -4596,6 +4638,10 @@ RCODE ftkTestAtomics( void) goto Exit; } + uiElapsedTime = FLM_ELAPSED_TIME( FLM_GET_TIMER(), uiStartTime); + f_printf( "Done. Time = %u\n", + (unsigned)FLM_TIMER_UNITS_TO_MILLI( uiElapsedTime)); + Exit: for( uiLoop = 0; uiLoop < F_ATOM_TEST_THREADS; uiLoop++) @@ -4636,6 +4682,30 @@ FSTATIC RCODE FLMAPI ftkAtomicIncThread( return( NE_FLM_OK); } +/**************************************************************************** +Desc: +****************************************************************************/ +FSTATIC RCODE FLMAPI ftkAtomicIncMutexThread( + IF_Thread * pThread) +{ + FLMUINT uiLoop; + F_MUTEX hMutex = (F_MUTEX)pThread->getParm1(); + + for( uiLoop = 0; uiLoop < F_ATOM_TEST_ITERATIONS; uiLoop++) + { + f_mutexLock( hMutex); + gv_refCount++; + f_mutexUnlock( hMutex); + + if( (uiLoop % 128) == 0) + { + f_yieldCPU(); + } + } + + return( NE_FLM_OK); +} + /**************************************************************************** Desc: ****************************************************************************/ @@ -4722,22 +4792,22 @@ Desc: FSTATIC RCODE ftkFastChecksumTest( void) { RCODE rc = NE_FLM_OK; - FLMUINT uiSlowAdds = 0; - FLMUINT uiSlowXORs = 0; - FLMUINT uiFastAdds = 0; - FLMUINT uiFastXORs = 0; + FLMUINT uiBaseAdds = 0; + FLMUINT uiBaseXORs = 0; + FLMUINT uiToolkitAdds = 0; + FLMUINT uiToolkitXORs = 0; FLMUINT uiDataLength; FLMBYTE * pucData = NULL; FLMBYTE * pucCur; FLMBYTE * pucEnd; - FLMUINT uiSlowChecksum = 0; - FLMUINT uiFastChecksum = 0; + FLMUINT uiBaseChecksum = 0; + FLMUINT uiToolkitChecksum = 0; FLMUINT uiLoop; FLMUINT uiIter; FLMUINT uiPass; FLMUINT uiStartTime; - FLMUINT uiSlowTime = 0; - FLMUINT uiFastTime = 0; + FLMUINT uiBaseTime = 0; + FLMUINT uiToolkitTime = 0; f_printf( "Running checksum tests "); @@ -4758,40 +4828,40 @@ FSTATIC RCODE ftkFastChecksumTest( void) for( uiPass = 0; uiPass < 100; uiPass++) { - uiSlowAdds = 0; - uiSlowXORs = 0; + uiBaseAdds = 0; + uiBaseXORs = 0; pucCur = pucData; pucEnd = pucData + uiDataLength; while( pucCur < pucEnd) { - uiSlowAdds += *pucCur; - uiSlowXORs ^= *pucCur++; + uiBaseAdds += *pucCur; + uiBaseXORs ^= *pucCur++; } - uiSlowAdds &= 0xFF; - uiSlowChecksum = (FLMUINT32)((uiSlowAdds << 16) + uiSlowXORs); + uiBaseAdds &= 0xFF; + uiBaseChecksum = (FLMUINT32)((uiBaseAdds << 16) + uiBaseXORs); } - uiSlowTime += FLM_ELAPSED_TIME( FLM_GET_TIMER(), uiStartTime); + uiBaseTime += FLM_ELAPSED_TIME( FLM_GET_TIMER(), uiStartTime); uiStartTime = FLM_GET_TIMER(); for( uiPass = 0; uiPass < 100; uiPass++) { - uiFastAdds = 0; - uiFastXORs = 0; + uiToolkitAdds = 0; + uiToolkitXORs = 0; - uiFastChecksum = f_calcFastChecksum( pucData, - uiDataLength, &uiFastAdds, &uiFastXORs); + uiToolkitChecksum = f_calcFastChecksum( pucData, + uiDataLength, &uiToolkitAdds, &uiToolkitXORs); } - uiFastTime += FLM_ELAPSED_TIME( FLM_GET_TIMER(), uiStartTime); + uiToolkitTime += FLM_ELAPSED_TIME( FLM_GET_TIMER(), uiStartTime); - if( (uiSlowAdds != uiFastAdds) || - (uiSlowXORs != uiFastXORs) || - (uiSlowChecksum != uiFastChecksum)) + if( (uiBaseAdds != uiToolkitAdds) || + (uiBaseXORs != uiToolkitXORs) || + (uiBaseChecksum != uiToolkitChecksum)) { rc = RC_SET_AND_ASSERT( NE_FLM_FAILURE); goto Exit; @@ -4803,9 +4873,9 @@ FSTATIC RCODE ftkFastChecksumTest( void) } } - f_printf( " Slow time = %u ms, Fast time = %u ms. ", - (unsigned)FLM_TIMER_UNITS_TO_MILLI( uiSlowTime), - (unsigned)FLM_TIMER_UNITS_TO_MILLI( uiFastTime)); + f_printf( " Base time = %u ms, FTK time = %u ms. ", + (unsigned)FLM_TIMER_UNITS_TO_MILLI( uiBaseTime), + (unsigned)FLM_TIMER_UNITS_TO_MILLI( uiToolkitTime)); Exit: @@ -4828,14 +4898,14 @@ FSTATIC RCODE ftkPacketChecksumTest( RCODE rc = NE_FLM_OK; FLMBYTE * pucBuffer = NULL; FLMBYTE * pucData; - FLMUINT uiSlowChecksum = 0; - FLMUINT uiFastChecksum = 0; + FLMUINT uiBaseChecksum = 0; + FLMUINT uiToolkitChecksum = 0; FLMUINT uiLoop; FLMUINT uiIter; FLMUINT uiPass; FLMUINT uiStartTime; - FLMUINT uiSlowTime = 0; - FLMUINT uiFastTime = 0; + FLMUINT uiBaseTime = 0; + FLMUINT uiToolkitTime = 0; FLMUINT uiAlignDelta; #ifdef FLM_64BIT @@ -4866,18 +4936,18 @@ FSTATIC RCODE ftkPacketChecksumTest( uiStartTime = FLM_GET_TIMER(); for( uiPass = 0; uiPass < 100; uiPass++) { - uiSlowChecksum = ftkSlowPacketChecksum( pucData, uiPacketSize); + uiBaseChecksum = ftkSlowPacketChecksum( pucData, uiPacketSize); } - uiSlowTime += FLM_ELAPSED_TIME( FLM_GET_TIMER(), uiStartTime); + uiBaseTime += FLM_ELAPSED_TIME( FLM_GET_TIMER(), uiStartTime); uiStartTime = FLM_GET_TIMER(); for( uiPass = 0; uiPass < 100; uiPass++) { - uiFastChecksum = f_calcPacketChecksum( pucData, uiPacketSize); + uiToolkitChecksum = f_calcPacketChecksum( pucData, uiPacketSize); } - uiFastTime += FLM_ELAPSED_TIME( FLM_GET_TIMER(), uiStartTime); + uiToolkitTime += FLM_ELAPSED_TIME( FLM_GET_TIMER(), uiStartTime); - if( uiSlowChecksum != uiFastChecksum) + if( uiBaseChecksum != uiToolkitChecksum) { rc = RC_SET_AND_ASSERT( NE_FLM_FAILURE); goto Exit; @@ -4887,9 +4957,9 @@ FSTATIC RCODE ftkPacketChecksumTest( f_printf( "."); } - f_printf( " Slow time = %u ms, Fast time = %u ms. ", - (unsigned)FLM_TIMER_UNITS_TO_MILLI( uiSlowTime), - (unsigned)FLM_TIMER_UNITS_TO_MILLI( uiFastTime)); + f_printf( " Base time = %u ms, FTK time = %u ms. ", + (unsigned)FLM_TIMER_UNITS_TO_MILLI( uiBaseTime), + (unsigned)FLM_TIMER_UNITS_TO_MILLI( uiToolkitTime)); Exit: @@ -5002,8 +5072,8 @@ RCODE ftkTestText( void) FLMUINT uiLoop; FLMUINT uiSubloop; FLMUINT uiStartTime; - FLMUINT uiSlowTime; - FLMUINT uiFastTime; + FLMUINT uiBaseTime; + FLMUINT uiToolkitTime; FLMUINT16 ui16WpChar; FLMUINT16 ui16BaseChar; FLMUINT16 ui16BaseChar2; @@ -5065,7 +5135,7 @@ RCODE ftkTestText( void) } } - uiSlowTime = FLM_ELAPSED_TIME( FLM_GET_TIMER(), uiStartTime); + uiBaseTime = FLM_ELAPSED_TIME( FLM_GET_TIMER(), uiStartTime); uiStartTime = FLM_GET_TIMER(); for( uiLoop = 0; uiLoop < 100; uiLoop++) @@ -5076,10 +5146,10 @@ RCODE ftkTestText( void) } } - uiFastTime = FLM_ELAPSED_TIME( FLM_GET_TIMER(), uiStartTime); + uiToolkitTime = FLM_ELAPSED_TIME( FLM_GET_TIMER(), uiStartTime); - f_printf( "Slow time = %u, Fast time = %u. Done.\n", - (unsigned)uiSlowTime, (unsigned)uiFastTime); + f_printf( "Base time = %u, FTK time = %u. Done.\n", + (unsigned)uiBaseTime, (unsigned)uiToolkitTime); f_printf( "Running Zenkaku to Hankaku conversion tests ... ");