Sounds great :D
Yes, I guess in many field Harmony works quiet well ( IIRC, we harmony
people already do some micro benchmark and get happy result, right?)

2007/4/20, Andrew Zhang <[EMAIL PROTECTED]>:
Hey guys,

I wrote a small performance benchmark for testing List.add(int index, Object
element). Beyond my expectation, Harmony's ArrayList is amazingly fast
compared with RI. The test scenario is very simple:

1. fill a list with 100,000 elements
        for (int i = 0; i < LIST_COUNT; ++i) {
            list.add(element);
        }
2. add another 100,000 elements into this list in the random index from 0 -
100,000.
       for (int i = 0; i < LIST_COUNT; ++i) {
            list.add(indexGenerator.nextInt(LIST_COUNT),element);
        }


Only a suggestion,  for micro benchmark, we may first add a part of
"warn up" so that we can get more proper result.
e.g, for test one
       // warn up phase
        for (int i = 0; i < LIST_COUNT; ++i) {
            list.add(element);
        }
      // test phase
      // get start time
        for (int i = 0; i < LIST_COUNT; ++i) {
            list.add(element);
        }
      // get end time

For step2, Harmony's ArrayList  50% - 100% faster than RI!

Here's the result from my machine:
1st run:
Harmony ArrayList insert1: elapsed = 10ms
Harmony ArrayList insert2: elapsed = 14861ms
Harmony Vector insert1: elapsed = 70ms
Harmony Vector insert2: elapsed = 30333ms

RI ArrayList insert1: elapsed = 110ms
RI ArrayList insert2: elapsed = 29532ms
RI Vector insert1: elapsed = 70ms
RI Vector insert2: elapsed = 30384ms

2nd run:
Harmony ArrayList insert1: elapsed = 20ms
Harmony ArrayList insert2: elapsed = 14941ms
Harmony Vector insert1: elapsed = 70ms
Harmony Vector insert2: elapsed = 31345ms

RI ArrayList insert1: elapsed = 70ms
RI ArrayList insert2: elapsed = 31726ms
RI Vector insert1: elapsed = 60ms
RI Vector insert2: elapsed = 31095ms


It seems in large mode, RI is a little better? So we may improve
Harmony memory management, GC , etc?

Very good work!


Cheers! :P

--
Best regards,
Andrew Zhang



--

Best Regards!

Jimmy, Jing Lv
China Software Development Lab, IBM

Reply via email to