sl@0: // Copyright (c) 1996-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of the License "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // e32test\bench\t_desfnc.cpp sl@0: // sl@0: // sl@0: sl@0: #include "t_userbm.h" sl@0: #include sl@0: #include sl@0: sl@0: _LIT(KCompare16, "abcdefghijklmnopqrstuvwxyz123456"); sl@0: _LIT(KCompare16_2, "ABcdEfGhijklmnopqrstUVWxYZ123456"); sl@0: _LIT(KMatch16, "qrstu"); sl@0: _LIT(KMatch16_2, "qRStU"); sl@0: const TDesC16& KString16 = KCompare16_2(); sl@0: const TUint16* KCharData16 = KString16.Ptr(); sl@0: TChar KChar; sl@0: sl@0: _LIT8(KCompare8, "abcdefghijklmnopqrstuvwxyz123456"); sl@0: _LIT8(KCompare8_2, "ABcdEfGhijklmnopqrstUVWxYZ123456"); sl@0: _LIT8(KMatch8, "qrstu"); sl@0: _LIT8(KMatch8_2, "qRStU"); sl@0: const TDesC8& KString8 = KCompare8_2(); sl@0: const TUint8* KCharData8 = KString8.Ptr(); sl@0: sl@0: void InitDataL() sl@0: { sl@0: } sl@0: sl@0: // 16 bit descriptors sl@0: sl@0: // Original t_desbm benchmarks first sl@0: DEFINE_USER_BENCHMARK(TDes16_Num, sl@0: TBuf16<32> buf, sl@0: buf.Num(0x35241525)); sl@0: sl@0: DEFINE_USER_BENCHMARK(TDes16_Num_RadixHex, sl@0: TBuf16<256> buf, sl@0: buf.Num(0x35241525,EHex)); sl@0: sl@0: DEFINE_USER_BENCHMARK(TDes16_Num_RadixDecimal, sl@0: TBuf16<256> buf, sl@0: buf.Num(0x35241525,EDecimal)); sl@0: sl@0: DEFINE_USER_BENCHMARK(TDes16_Num_RadixOctal, sl@0: TBuf16<256> buf, sl@0: buf.Num(0x35241525,EOctal)); sl@0: sl@0: DEFINE_USER_BENCHMARK(TDes16_Num_RadixBinary, sl@0: TBuf16<256> buf, sl@0: buf.Num(0x35241525,EBinary)); sl@0: sl@0: DEFINE_USER_BENCHMARK(TDesC16_Compare, sl@0: TBuf16<256> buf(KCompare16); TBuf16<256> str(KCompare16), sl@0: buf.Compare(str)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDesC16_CompareC, sl@0: TBuf16<256> buf(KCompare16); TBuf16<256> str(KCompare16_2), sl@0: buf.CompareC(str)); sl@0: sl@0: DEFINE_USER_BENCHMARK(TDesC16_CompareF, sl@0: TBuf16<256> buf(KCompare16); TBuf16<256> str(KCompare16_2), sl@0: buf.CompareF(str)); sl@0: sl@0: DEFINE_USER_BENCHMARK(TDesC16_Match, sl@0: TBuf16<256> buf(KCompare16); TBuf16<256> str(KMatch16), sl@0: buf.Match(str)); sl@0: sl@0: DEFINE_USER_BENCHMARK(TDesC16_MatchF, sl@0: TBuf16<256> buf(KCompare16); TBuf16<256> str(KMatch16_2), sl@0: buf.MatchF(str)); sl@0: sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDes16_Append_TChar, sl@0: TBuf16<256> buf(KCompare16), sl@0: buf.SetLength(32); buf.Append(KChar)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDes16_Append_TDesC16, sl@0: TBuf16<256> buf(KCompare16), sl@0: buf.SetLength(32); buf.Append(KString16)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDes16_Append_pTUint16, sl@0: TBuf16<256> buf(KCompare16), sl@0: buf.SetLength(32); buf.Append(KCharData16, 32)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDes16_Copy_TDesC16, sl@0: TBuf16<256> buf, sl@0: buf.Copy(KString16)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDes16_Copy_pTUint16, sl@0: TBuf16<256> buf, sl@0: buf.Copy(KCharData16)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDes16_Copy_pTUint16_TInt, sl@0: TBuf16<256> buf, sl@0: buf.Copy(KCharData16, 32)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDes16_Fill, sl@0: TBuf16<256> buf(KCompare16), sl@0: buf.Fill(KChar)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDes16_FillZ, sl@0: TBuf16<256> buf(KCompare16), sl@0: buf.FillZ()); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDes16_LeftTPtr, sl@0: TBuf16<256> buf(KCompare16), sl@0: buf.LeftTPtr(10)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDes16_RightTPtr, sl@0: TBuf16<256> buf(KCompare16), sl@0: buf.RightTPtr(10)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDes16_MidTPtr, sl@0: TBuf16<256> buf(KCompare16), sl@0: buf.MidTPtr(10)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDes16_PtrZ, sl@0: TBuf16<256> buf(KCompare16), sl@0: buf.PtrZ()); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDes16_SetLength, sl@0: TBuf16<256> buf(KCompare16), sl@0: buf.SetLength(10)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDes16_SetMax, sl@0: TBuf16<256> buf(KCompare16), sl@0: buf.SetMax()); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDes16_ZeroTerminate, sl@0: TBuf16<256> buf(KCompare16), sl@0: buf.ZeroTerminate()); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDesC16_AtC, sl@0: , sl@0: KString16[10]); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDesC16_Left, sl@0: , sl@0: KString16.Left(10)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDesC16_Right, sl@0: , sl@0: KString16.Right(10)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDesC16_Mid, sl@0: , sl@0: KString16.Mid(10)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDesC16_Locate, sl@0: , sl@0: KString16.Locate(KChar)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDesC16_LocateReverse, sl@0: , sl@0: KString16.LocateReverse(KChar)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDesC16_Ptr, sl@0: , sl@0: KString16.Ptr()); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TPtr16_TPtr16, sl@0: TPtr16 p(NULL, 0), sl@0: new (&p) TPtr16(NULL, 0)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TPtr16_TPtr16_2, sl@0: TPtr16 p(NULL, 0), sl@0: new (&p) TPtr16(NULL, 0, 0)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TPtrC16_TPtrC16, sl@0: TPtrC16 p, sl@0: new (&p) TPtrC16()); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TPtrC16_TPtrC16_2, sl@0: TPtrC16 p, sl@0: new (&p) TPtrC16(KString16)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TPtrC16_TPtrC16_3, sl@0: TPtrC16 p, sl@0: new (&p) TPtrC16(KCharData16)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TPtrC16_TPtrC16_4, sl@0: TPtrC16 p, sl@0: new (&p) TPtrC16(KCharData16, 32)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TBufBase16_TBufBase16_1, sl@0: TBuf16<256> b, sl@0: new (&b) TBuf16<256>()); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TBufBase16_TBufBase16_2, sl@0: TBuf16<256> b, sl@0: new (&b) TBuf16<256>(32)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TBufBase16_TBufBase16_3, sl@0: TBuf16<256> b, sl@0: new (&b) TBuf16<256>(KCharData16)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TBufBase16_TBufBase16_4, sl@0: TBuf16<256> b, sl@0: new (&b) TBuf16<256>(KString16)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TBufCBase16_TBufBaseC16_1, sl@0: TBufC16<256> b, sl@0: new (&b) TBufC16<256>()); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TBufCBase16_TBufBaseC16_2, sl@0: TBufC16<256> b, sl@0: new (&b) TBufC16<256>(KCharData16)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TBufCBase16_TBufBaseC16_3, sl@0: TBufC16<256> b, sl@0: new (&b) TBufC16<256>(KString16)); sl@0: sl@0: // 8 bit descriptors sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDes8_Num, sl@0: TBuf8<32> buf, sl@0: buf.Num(0x35241525)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDes8_Num_RadixHex, sl@0: TBuf8<256> buf, sl@0: buf.Num(0x35241525,EHex)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDes8_Num_RadixDecimal, sl@0: TBuf8<256> buf, sl@0: buf.Num(0x35241525,EDecimal)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDes8_Num_RadixOctal, sl@0: TBuf8<256> buf, sl@0: buf.Num(0x35241525,EOctal)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDes8_Num_RadixBinary, sl@0: TBuf8<256> buf, sl@0: buf.Num(0x35241525,EBinary)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDesC8_Compare, sl@0: TBuf8<256> buf(KCompare8); TBuf8<256> str(KCompare8), sl@0: buf.Compare(str)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDesC8_CompareC, sl@0: TBuf8<256> buf(KCompare8); TBuf8<256> str(KCompare8_2), sl@0: buf.CompareC(str)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDesC8_CompareF, sl@0: TBuf8<256> buf(KCompare8); TBuf8<256> str(KCompare8_2), sl@0: buf.CompareF(str)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDesC8_Match, sl@0: TBuf8<256> buf(KCompare8); TBuf8<256> str(KMatch8), sl@0: buf.Match(str)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDesC8_MatchF, sl@0: TBuf8<256> buf(KCompare8); TBuf8<256> str(KMatch8_2), sl@0: buf.MatchF(str)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDes8_Append_TChar, sl@0: TBuf8<256> buf(KCompare8), sl@0: buf.SetLength(32); buf.Append(KChar)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDes8_Append_TDesC8, sl@0: TBuf8<256> buf(KCompare8), sl@0: buf.SetLength(32); buf.Append(KString8)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDes8_Append_pTUint8, sl@0: TBuf8<256> buf(KCompare8), sl@0: buf.SetLength(32); buf.Append(KCharData8, 32)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDes8_Copy_TDesC8, sl@0: TBuf8<256> buf, sl@0: buf.Copy(KString8)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDes8_Copy_pTUint8, sl@0: TBuf8<256> buf, sl@0: buf.Copy(KCharData8)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDes8_Copy_pTUint8_TInt, sl@0: TBuf8<256> buf, sl@0: buf.Copy(KCharData8, 32)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDes8_Fill, sl@0: TBuf8<256> buf(KCompare8), sl@0: buf.Fill(KChar)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDes8_FillZ, sl@0: TBuf8<256> buf(KCompare8), sl@0: buf.FillZ()); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDes8_LeftTPtr, sl@0: TBuf8<256> buf(KCompare8), sl@0: buf.LeftTPtr(10)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDes8_RightTPtr, sl@0: TBuf8<256> buf(KCompare8), sl@0: buf.RightTPtr(10)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDes8_MidTPtr, sl@0: TBuf8<256> buf(KCompare8), sl@0: buf.MidTPtr(10)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDes8_PtrZ, sl@0: TBuf8<256> buf(KCompare8), sl@0: buf.PtrZ()); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDes8_SetLength, sl@0: TBuf8<256> buf(KCompare8), sl@0: buf.SetLength(10)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDes8_SetMax, sl@0: TBuf8<256> buf(KCompare8), sl@0: buf.SetMax()); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDes8_ZeroTerminate, sl@0: TBuf8<256> buf(KCompare8), sl@0: buf.ZeroTerminate()); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDesC8_AtC, sl@0: , sl@0: KString8[10]); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDesC8_Left, sl@0: , sl@0: KString8.Left(10)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDesC8_Right, sl@0: , sl@0: KString8.Right(10)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDesC8_Mid, sl@0: , sl@0: KString8.Mid(10)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDesC8_Locate, sl@0: , sl@0: KString8.Locate(KChar)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDesC8_LocateReverse, sl@0: , sl@0: KString8.LocateReverse(KChar)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TDesC8_Ptr, sl@0: , sl@0: KString8.Ptr()); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TPtr8_TPtr8, sl@0: TPtr8 p(NULL, 0), sl@0: new (&p) TPtr8(NULL, 0)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TPtr8_TPtr8_2, sl@0: TPtr8 p(NULL, 0), sl@0: new (&p) TPtr8(NULL, 0, 0)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TPtrC8_TPtrC8, sl@0: TPtrC8 p, sl@0: new (&p) TPtrC8()); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TPtrC8_TPtrC8_2, sl@0: TPtrC8 p, sl@0: new (&p) TPtrC8(KString8)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TPtrC8_TPtrC8_3, sl@0: TPtrC8 p, sl@0: new (&p) TPtrC8(KCharData8)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TPtrC8_TPtrC8_4, sl@0: TPtrC8 p, sl@0: new (&p) TPtrC8(KCharData8, 32)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TBufBase8_TBufBase8_1, sl@0: TBuf8<256> b, sl@0: new (&b) TBuf8<256>()); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TBufBase8_TBufBase8_2, sl@0: TBuf8<256> b, sl@0: new (&b) TBuf8<256>(32)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TBufBase8_TBufBase8_3, sl@0: TBuf8<256> b, sl@0: new (&b) TBuf8<256>(KCharData8)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TBufBase8_TBufBase8_4, sl@0: TBuf8<256> b, sl@0: new (&b) TBuf8<256>(KString8)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TBufCBase8_TBufBaseC8_1, sl@0: TBufC8<256> b, sl@0: new (&b) TBufC8<256>()); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TBufCBase8_TBufBaseC8_2, sl@0: TBufC8<256> b, sl@0: new (&b) TBufC8<256>(KCharData8)); sl@0: sl@0: DEFINE_EXTRA_BENCHMARK(TBufCBase8_TBufBaseC8_3, sl@0: TBufC8<256> b, sl@0: new (&b) TBufC8<256>(KString8));