home *** CD-ROM | disk | FTP | other *** search
- // PROFILE.cpp
- //
- // Profiling functions for MARM
- //
- // Copyright (c) 1999 Sander van der Wal
- //
- // $Id: profile.cpp 1.1 2000-09-17 13:39:35+02 svdwal Exp svdwal $
-
- #include "PROFILE.H"
-
- #include <e32test.h>
-
- #ifdef TRACE
-
- static const char* const names[] = {
- #ifdef PROFILE_NAME_00
- PROFILE_NAME_00
- #endif
- #ifdef PROFILE_NAME_01
- , PROFILE_NAME_01
- #endif
- #ifdef PROFILE_NAME_02
- , PROFILE_NAME_02
- #endif
- #ifdef PROFILE_NAME_03
- , PROFILE_NAME_03
- #endif
- #ifdef PROFILE_NAME_04
- , PROFILE_NAME_04
- #endif
- #ifdef PROFILE_NAME_05
- , PROFILE_NAME_05
- #endif
- #ifdef PROFILE_NAME_06
- , PROFILE_NAME_06
- #endif
- #ifdef PROFILE_NAME_07
- , PROFILE_NAME_07
- #endif
- #ifdef PROFILE_NAME_08
- , PROFILE_NAME_08
- #endif
- #ifdef PROFILE_NAME_09
- , PROFILE_NAME_09
- #endif
- #ifdef PROFILE_NAME_10
- , PROFILE_NAME_10
- #endif
- #ifdef PROFILE_NAME_11
- , PROFILE_NAME_11
- #endif
- #ifdef PROFILE_NAME_12
- , PROFILE_NAME_12
- #endif
- #ifdef PROFILE_NAME_13
- , PROFILE_NAME_13
- #endif
- #ifdef PROFILE_NAME_14
- , PROFILE_NAME_14
- #endif
- #ifdef PROFILE_NAME_15
- , PROFILE_NAME_15
- #endif
- #ifdef PROFILE_NAME_16
- , PROFILE_NAME_16
- #endif
- #ifdef PROFILE_NAME_17
- , PROFILE_NAME_17
- #endif
- #ifdef PROFILE_NAME_18
- , PROFILE_NAME_18
- #endif
- #ifdef PROFILE_NAME_19
- , PROFILE_NAME_19
- #endif
- #ifdef PROFILE_NAME_20
- , PROFILE_NAME_20
- #endif
- #ifdef PROFILE_NAME_21
- , PROFILE_NAME_21
- #endif
- };
-
-
- //
- // get the results
- // This code does it one bin at a time, but you could get the whole lot as:
- // TProfile result[20]; RDebug::ProfileResult( &result, 0, 20 );
-
- void __profile_dump()
- {
- RTest test(_L("Profile of Pdf"));
-
- TProfile result; // iTime, iCount
- TBuf<64> resultBuf;
-
- // Totals
- test.Start( _L("Name | Time | Count"));
- resultBuf.Format(_L("-------------------------------|------------|-----------"));
- test.Next(resultBuf);
-
- // Max 64 parts
- for (TInt i = 0; i<= PROFILE_MAX; i++) {
- RDebug::ProfileResult(&result, i, 1);
- resultBuf.Format(_L("%-30s | % 10D | % 10D"), names[i], result.iTime, result.iCount);
- test.Next(resultBuf);
- }
-
- test.End();
- test.Close();
- }
-
-
- #endif
-