MySQLOnRocksDB/mysql-5.6
forked from facebook/mysql-5.6

Loading…
I ran linkbench tests with a 15m dataset provided by Yoshinori.
QPS for RTTI binary

QPS for the binary without RTTI:

Since the QPS was so spiky I cut all datapoints with < 30000 QPS:
RTTI:

The AVG QPS for RTTI was 36245 (stdev was 2044) with 37052 (stdev 2233) for no RTTI
This repesents 2% degradation, but it is within stddev.
Another observation is that QPS dropped by about 10% during the run.
I found an easy way of enabling the RTTI just for RocksDB and disabling for everything else.
See:
https://reviews.facebook.net/differential/diff/220563/
and https://phabricator.fb.com/differential/diff/8899117/
The performance is not affected by disabling RTTI in this manner.
The reason, why we saw perf improvements above is that rocksdb code does quite a bit of string manipulations for logging. Disabling that improved QPS. See the internal t8101744 for details.

We experienced 5% slowdown when started compiling withou -fno-rtti switch.
Oracle enabled rtti in 5.6.4: http://dev.mysql.com/worklog/task/?id=5825
commit: mysql/mysql-server@a5ee727
They haven't started using rtti until 5.7 though.
Excerpt:
<< shows that there is no significant difference in execution time between
having and not having these flags.>>>