Last modified 6 years ago Last modified on 02/01/2013 01:06:07 AM

CORAL Overhead

Some initial tests on Coral overhead when compared with the MySQL command-line client show that it is substantially slower but not likely to be a show-stopper.

These numbers are likely not accurate to more than one significant figure right now, but they still give a sense for the performance. All tests were run on a very small (three column) in-memory table to give a worst case, where the interface overhead overwhelms the inherent database latency. Hardware was lsst-dev01, 2x1793MHz V20z.

Adding compiler optimization does not change the times significantly, as the time is spent in the Coral libraries or the database.

mysql client
1 INSERT VALUES with 1000 sets: 0.020 sec
1 INSERT VALUES with 2000 sets: 0.034 sec
1000 INSERT VALUES statements: 0.084 sec
2000 INSERT VALUES statements: 0.15 sec
100 SELECT * WHERE id = ####: 0.010 sec

Coral from C++
1000 insertRow() calls: 0.16 sec (2X 1000 INSERT VALUES)
2000 insertRow() calls: 0.28 sec (2X 1000 INSERT VALUES)
100 query->execute() calls: 0.035 sec (3X 100 SELECT)