Thanks to Martijn van Tilburg for his query on performance metrics for XADisk.
It encouraged me to start with some basic performance related tests - I started
with a comparison between Java IO operations (which are transaction-less) and
XADisk operations for read/write/truncate.
What can be the most crucial thing for measurement? Some quick thoughts which
came to me:
a) It would be nice to see how the "average time taken" by a transaction would
vary with the number of other concurrent transactions. This is because of shared
resources like memory, cpu, and the huge bottleneck - the physical disk (with
b) Measurement of the time taken with number of concurrent transactions would
make more sense if we are measuring data both from
- XADisk (which provides ACID semantics)
- Java IO API (which does NOT provide ACID semantics).
It is well-known that the ACID transactional properties would always introduce
an additional cost for the same operation done "natively (without a ACID
So, what would make more sense is to plot the measurements with XADisk and with
Java IO API (for same operations) side-by-side.
Have checked-in the new tests a few minutes ago.