Index: source/test/perf/leperf/letrperf.cpp |
diff --git a/source/test/perf/leperf/letrperf.cpp b/source/test/perf/leperf/letrperf.cpp |
deleted file mode 100644 |
index 75cfe1bbdf5f6c2802bdf0ebdc61e56172c5007e..0000000000000000000000000000000000000000 |
--- a/source/test/perf/leperf/letrperf.cpp |
+++ /dev/null |
@@ -1,177 +0,0 @@ |
-/*************************************************************************** |
-* |
-* Copyright (C) 2013, International Business Machines |
-* Corporation and others. All Rights Reserved. |
-* |
-************************************************************************/ |
-/** |
- * Usage: |
- * build against a configured (but not built) ICU. |
- * example: cc -O2 test_LETableReference.cpp -I. -I/xsrl/II/include -I/xsrl/E/icu/source/tools/ctestfw |
- */ |
-#include "unicode/utimer.h" |
-#include "LETableReference.h" |
-#include <stdio.h> |
-#include <stdlib.h> |
- |
-#define ITEM_COUNT 10000 |
- |
-long *items = 0; |
- |
-struct OneObject { |
- long items[ITEM_COUNT]; |
-}; |
- |
-struct Long { |
- long v; |
-}; |
- |
-struct CompObject { |
- Long items[ITEM_COUNT]; |
-}; |
- |
- |
-void time_null(void * /*ref*/) { |
- for(int i=0;i<ITEM_COUNT;i++) { |
- if(items[i]==2) { |
- return; |
- } |
- } |
- puts("error"); |
- abort(); |
-} |
- |
-void time_obj(void * ref) { |
- OneObject &obj = *((OneObject*)ref); |
- for(int i=0;i<ITEM_COUNT;i++) { |
- if(obj.items[i]==2) { |
- return; |
- } |
- } |
- puts("error"); |
- abort(); |
-} |
-void time_obj2(void * ref) { |
- long *items2 = ((OneObject*)ref)->items; |
- for(int i=0;i<ITEM_COUNT;i++) { |
- if(items2[i]==2) { |
- return; |
- } |
- } |
- puts("error"); |
- abort(); |
-} |
- |
-void time_letr1(void * ref) { |
- OneObject &obj = *((OneObject*)ref); |
- LETableReference data((const le_uint8*)ref, sizeof(OneObject)); |
- LEErrorCode success = LE_NO_ERROR; |
- |
- LEReferenceTo<OneObject> stuff(data, success); |
- if(LE_FAILURE(success)) { |
- puts("failure"); |
- abort(); |
- } |
- long *items2 = ((OneObject*)ref)->items; |
- for(int i=0;i<ITEM_COUNT;i++) { |
- if(items[i]==2) { |
- return; |
- } |
- } |
- puts("error"); |
- abort(); |
-} |
- |
- |
-void time_letr2(void * ref) { |
- OneObject &obj = *((OneObject*)ref); |
- LETableReference data((const le_uint8*)ref, sizeof(OneObject)); |
- LEErrorCode success = LE_NO_ERROR; |
- |
- long *items2 = ((OneObject*)ref)->items; |
- for(int i=0;i<ITEM_COUNT;i++) { |
- LEReferenceTo<OneObject> stuff(data, success); |
- if(LE_FAILURE(success)) { |
- puts("failure"); |
- abort(); |
- } |
- if(items[i]==2) { |
- return; |
- } |
- } |
- puts("error"); |
- abort(); |
-} |
- |
-static void time_letr3(void * ref) { |
- LETableReference data((const le_uint8*)ref, sizeof(OneObject)); |
- LEErrorCode success = LE_NO_ERROR; |
- LEReferenceTo<CompObject> comp(data, success); |
- LEReferenceToArrayOf<Long> longs(comp, success, (size_t)0, ITEM_COUNT); |
- if(LE_FAILURE(success)) { |
- puts("failure"); |
- abort(); |
- } |
- |
- for(int i=0;i<ITEM_COUNT;i++) { |
- const Long &item = longs.getObject(i, success); |
- if(LE_FAILURE(success)) { |
- puts("failure"); |
- abort(); |
- } |
- if(item.v==2) { |
- return; |
- } |
- } |
- puts("error"); |
- abort(); |
-} |
- |
- |
-int main() { |
- double runTime = 2.0; |
- printf("Test of LETableReference<> timing. %.1fs per run.\n", runTime); |
- items = new long[ITEM_COUNT]; |
- OneObject *oo = new OneObject(); |
- CompObject *oo2 = new CompObject(); |
- for(int i=0;i<ITEM_COUNT-1;i++) { |
- items[i] = oo->items[i] = oo2->items[i].v = (i%1024)+3; |
- } |
- items[ITEM_COUNT-1] = oo->items[ITEM_COUNT-1] = oo2->items[ITEM_COUNT-1].v = 2; // last one |
- |
- puts("will call once.."); |
- time_letr3((void*)oo2); |
- puts("testing all.."); |
- |
- int32_t loopCount; |
- double time_taken; |
- |
-#define showTime(x,y) printf("%s:\ttesting...\r", #x); fflush(stdout); \ |
- time_taken = utimer_loopUntilDone(runTime, &loopCount, x, y); \ |
- printf("%s:\t%.1fs\t#%d\t%.1f/s\n", #x, time_taken, loopCount, loopCount/(double)time_taken); |
- |
- // clear out cache |
- { |
- double oldTime = runTime; |
- runTime = 0.25; |
- showTime(time_null, NULL); |
- showTime(time_null, NULL); |
- showTime(time_null, NULL); |
- showTime(time_null, NULL); |
- runTime = oldTime; |
- } |
- puts("-- ready to start --"); |
- |
- |
- showTime(time_null, NULL); |
- showTime(time_obj, (void*)oo); |
- showTime(time_obj2, (void*)oo); |
- showTime(time_letr1, (void*)oo2); |
- showTime(time_letr2, (void*)oo2); |
- showTime(time_letr3, (void*)oo2); |
- showTime(time_null, NULL); |
- |
- delete [] items; |
- delete oo; |
- delete oo2; |
-} |