ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Александр Меньшиков <sharple...@gmail.com>
Subject Brand new JMH and Yardstick benchmarks
Date Thu, 20 Jul 2017 16:59:32 GMT
Hi, guys. I have written benchmarks for comparing IgniteCache.lock() and
Ignite.reentrantLock() and they merged to master branch.

If someone new wants to make benchmarks look at the implementation. Don't
forget to write both JMH and Yardstick benchmarks.

In process of writing, I have found out that locks in Ignite have not any
optimization for the situation when locks are unnecessary. So you don't
need adding any operation between lock/unlock operations. Which is not true
for standard Java locks classes because JIT can remove locks with an empty
body. For check such situation you need to make three benchmarks: the first
only with locks but without the body, second with read/write operations but
without locks, and the other with locks and operations. And make sure
result is consistent. It's okay if the third benchmark works faster than
the first and the second in sum.

Classes:

1. JMH:
    1)
org.apache.ignite.internal.benchmarks.jmh.cache.JmhCacheLocksBenchmark
2. Yardstick:
    1) org.apache.ignite.yardstick.cache.IgniteLockBenchmark
    2) org.apache.ignite.yardstick.cache.IgniteCacheLockBenchmark

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message