...
- By executing the aggregation on the server-side a performance improvement up to a factor 50 can be seen.
- When traversing a set of distinct objects, retrieving a single object takes about 7-8?s (or a RAMCloud client can request about 130.000 objects/sec from a single RAMCloud server).
- When invoking the hashTable forEach method the whole allocated memory for the hashtable has to be traversed. This is fine if the hashtable is densely packed with objects. In case of a sparse population with objects this introduces a penalty.
- When traversing large amounts of objects the forEach method is 1.6-1.8x faster that looking up each individual object.
#number of objects | client-side aggregation | server-side aggregation | server-side aggregation | server-side aggregation |
---|---|---|---|---|
10.000 | 63 ms | 2 ms | 238 ms | 6 ms |
100.000 | 648 ms | 23 ms | 251 ms | 9 ms |
1.000.000 | 6485 ms | 233 ms | 369 ms | 21 ms |
10.000.000 | 64258 ms | 2662 ms | 1444 ms | 142 ms |
100.000.000 | 652201 ms | 30049 ms | 18752 ms | 1422 ms |
...