Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 15 Next »

Purpose

The intention of this page is to present experiments with non-CRUD data operations.

Aggregation Operation

/**
* Aggregation Callback
*/
void
aggregateCallback(LogEntryHandle handle, uint8_t type,
                      void *cookie)
{
        const Object* obj = handle->userData<Object>();
        MasterServer *server = reinterpret_cast<MasterServer*>(cookie);

        int *p;
        p = (int*) obj->data;
        server->sum += (uint64_t)*p;
}

#number of objects

client-side aggregation

server-side aggregation
  via hashtable lookup

server-side aggregation
 via hashtable forEach

10.000

75 ms

2 ms

238 ms

100.000

766 ms

23 ms

251 ms

1.000.000

7604 ms

233 ms

369 ms

10.000.000

76515 ms

2662 ms

1444 ms

100.000.000

770761 ms

30049 ms

18752 ms

  • No labels