-
Bug
-
Resolution: Withdrawn
-
P4
-
None
-
17
I have been investigating adding more Renaissance JMH to dev-submit. It appears that org.renaissance.neo4j.JmhNeo4jAnalytics has gotten almost 2x slower after JDK 8, I am not sure it is just a compilation order problem.
In 17-b4 it spends a lot of time on some stub code.
I am running another dev-submit to see how it looks with -TieredCompilation.
17-b4 default tiered comp:
....[Hottest Regions]...............................................................................
20.61% runtime stub StubRoutines::vectorizedMismatch (143 bytes)
6.30% c2, level 4 org.neo4j.kernel.impl.locking.community.LockManagerImpl::accept, version 12379 (459 bytes)
5.89% c2, level 4 scala.collection.IndexedSeqOptimized$class::foreach, version 8190 (49 bytes)
4.34% c2, level 4 org.neo4j.kernel.impl.locking.community.LockManagerImpl::accept, version 12379 (92 bytes)
4.08% runtime stub StubRoutines::vectorizedMismatch (190 bytes)
4.05% c2, level 4 scala.collection.mutable.OpenHashMap$$anonfun$foreachUndeletedEntry$1::apply, version 12085 (180 bytes)
2.08% c2, level 4 scala.collection.mutable.ArrayOps$ofRef::apply, version 9691 (76 bytes)
1.97% c2, level 4 scala.collection.mutable.OpenHashMap::put, version 13658 (661 bytes)
1.85% perf-1105135.map [unknown] (916 bytes)
1.53% c2, level 4 scala.collection.mutable.OpenHashMap$$anonfun$clone$1::apply, version 14311 (884 bytes)
1.26% c2, level 4 org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.Not::isMatch, version 18347 (580 bytes)
1.21% c2, level 4 org.neo4j.kernel.impl.locking.community.LockManagerImpl::accept, version 12379 (0 bytes)
1.20% c2, level 4 org.neo4j.kernel.impl.locking.community.LockManagerImpl::accept, version 12379 (0 bytes)
1.11% c2, level 4 org.neo4j.io.pagecache.impl.muninn.MuninnPageCursor::next, version 14338 (753 bytes)
1.00% runtime stub StubRoutines::vectorizedMismatch (191 bytes)
0.98% c2, level 4 scala.collection.mutable.OpenHashMap$$anonfun$foreach$1::apply, version 18358 (336 bytes)
0.92% c2, level 4 scala.collection.IndexedSeqOptimized$class::foreach, version 8190 (26 bytes)
0.91% c2, level 4 scala.collection.mutable.OpenHashMap$$anonfun$growTable$1::apply, version 18283 (319 bytes)
0.86% c2, level 4 org.neo4j.kernel.impl.store.format.standard.NodeRecordFormat::read, version 7162 (593 bytes)
0.80% c2, level 4 org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.CompositeBooleanPredicate$$anonfun$1::apply, version 18335 (377 bytes)
37.04% <...other 3773 warm regions...>
....................................................................................................
100.00% <totals>
17-b4 tiered off 1 comp thread:
....[Hottest Regions]...............................................................................
11.96% c2 java.util.HashMap$HashIterator::nextNode, version 368 (143 bytes)
5.44% c2 org.neo4j.kernel.impl.locking.community.LockManagerImpl::accept, version 2471 (118 bytes)
5.27% c2 java.util.HashMap$KeySpliterator::forEachRemaining, version 131 (143 bytes)
3.75% c2 scala.collection.mutable.OpenHashMap$$anonfun$foreachUndeletedEntry$1::apply, version 3276 (1010 bytes)
2.93% libjvm.so OopOopIterateDispatch<G1CMOopClosure>::Table::oop_oop_iterate<InstanceKlass, narrowOop> (571 bytes)
2.52% libjvm.so OopOopIterateDispatch<G1RebuildRemSetClosure>::Table::oop_oop_iterate<InstanceKlass, narrowOop> (313 bytes)
2.41% c2 scala.collection.mutable.OpenHashMap::clone, version 3411 (631 bytes)
2.13% c2 scala.collection.mutable.OpenHashMap::scala$collection$mutable$OpenHashMap$$put, version 3318 (871 bytes)
1.89% perf-1108267.map [unknown] (916 bytes)
1.66% c2 org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.Not::isMatch, version 5050 (420 bytes)
1.59% c2 scala.collection.mutable.OpenHashMap::get, version 3321 (388 bytes)
1.48% c2 org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.Not::isMatch, version 5050 (574 bytes)
1.44% libjvm.so OtherRegionsTable::add_reference (214 bytes)
1.41% c2 scala.collection.mutable.OpenHashMap::foreach, version 5088 (319 bytes)
1.37% libjvm.so G1RebuildRemSetTask::G1RebuildRemSetHeapRegionClosure::do_heap_region (497 bytes)
1.17% c2 org.neo4j.kernel.impl.store.CommonAbstractStore::readIntoRecord, version 2312 (290 bytes)
1.14% libjvm.so G1ParScanThreadState::trim_queue_to_threshold (214 bytes)
1.13% c2 org.neo4j.kernel.impl.store.format.standard.NodeRecordFormat::read, version 2613 (568 bytes)
1.11% libjvm.so OopOopIterateDispatch<G1CMOopClosure>::Table::oop_oop_iterate<ObjArrayKlass, narrowOop> (493 bytes)
1.10% perf-1108267.map [unknown] (581 bytes)
47.11% <...other 2972 warm regions...>
....................................................................................................
100.00% <totals>
8u271 default:
....[Hottest Regions]...............................................................................
5.32% C2, level 4 scala.collection.mutable.OpenHashMap::scala$collection$mutable$OpenHashMap$$put, version 10696 (992 bytes)
5.10% C2, level 4 org.neo4j.kernel.impl.locking.community.LockManagerImpl::accept, version 10978 (170 bytes)
4.66% C2, level 4 org.neo4j.cypher.internal.runtime.interpreted.pipes.NodeIndexSeeker$class::computeIndexQueries, version 19014 (50 bytes)
3.48% C2, level 4 org.neo4j.kernel.impl.store.format.standard.RelationshipRecordFormat::read, version 10146 (996 bytes)
2.50% C2, level 4 scala.collection.mutable.OpenHashMap::foreach, version 16613 (703 bytes)
2.09% C2, level 4 org.neo4j.cypher.internal.runtime.interpreted.pipes.ValueHashJoinPipe$$anonfun$3$$anonfun$apply$1::apply, version 16597 (637 bytes)
2.07% C2, level 4 org.neo4j.cypher.internal.runtime.interpreted.pipes.NodeIndexSeeker$class::computeIndexQueries, version 19014 (386 bytes)
2.06% perf-1106891.map [unknown] (512 bytes)
1.76% C2, level 4 org.neo4j.kernel.impl.store.format.standard.NodeRecordFormat::read, version 6708 (520 bytes)
1.59% C2, level 4 org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.CompositeBooleanPredicate$$anonfun$1::apply, version 16557 (544 bytes)
1.55% C1, level 3 java.util.stream.Collectors$$Lambda$34::accept, version 1226 (126 bytes)
1.51% C2, level 4 org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.Not::isMatch, version 16449 (555 bytes)
1.08% libjvm.so PSPromotionManager::copy_to_survivor_space<false> (100 bytes)
0.98% C2, level 4 org.neo4j.cypher.internal.runtime.interpreted.pipes.NodeIndexSeeker$class::computeIndexQueries, version 19014 (146 bytes)
0.94% C2, level 4 org.neo4j.cypher.internal.runtime.interpreted.pipes.ValueHashJoinPipe$$anonfun$3$$anonfun$apply$1::apply, version 16597 (171 bytes)
0.91% C1, level 3 java.util.stream.Collectors$$Lambda$34::accept, version 1226 (126 bytes)
0.91% C2, level 4 org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.CompositeBooleanPredicate::isMatch, version 12948 (553 bytes)
0.91% perf-1106891.map [unknown] (774 bytes)
0.76% libjvm.so PSPromotionManager::drain_stacks_depth (81 bytes)
0.69% C2, level 4 org.neo4j.cypher.internal.runtime.interpreted.pipes.ExpandAllPipe$$anonfun$internalCreateResults$1$$anonfun$apply$1::apply, version 16521 (761 bytes)
59.15% <...other 3554 warm regions...>
....................................................................................................
100.00% <totals>
In 17-b4 it spends a lot of time on some stub code.
I am running another dev-submit to see how it looks with -TieredCompilation.
17-b4 default tiered comp:
....[Hottest Regions]...............................................................................
20.61% runtime stub StubRoutines::vectorizedMismatch (143 bytes)
6.30% c2, level 4 org.neo4j.kernel.impl.locking.community.LockManagerImpl::accept, version 12379 (459 bytes)
5.89% c2, level 4 scala.collection.IndexedSeqOptimized$class::foreach, version 8190 (49 bytes)
4.34% c2, level 4 org.neo4j.kernel.impl.locking.community.LockManagerImpl::accept, version 12379 (92 bytes)
4.08% runtime stub StubRoutines::vectorizedMismatch (190 bytes)
4.05% c2, level 4 scala.collection.mutable.OpenHashMap$$anonfun$foreachUndeletedEntry$1::apply, version 12085 (180 bytes)
2.08% c2, level 4 scala.collection.mutable.ArrayOps$ofRef::apply, version 9691 (76 bytes)
1.97% c2, level 4 scala.collection.mutable.OpenHashMap::put, version 13658 (661 bytes)
1.85% perf-1105135.map [unknown] (916 bytes)
1.53% c2, level 4 scala.collection.mutable.OpenHashMap$$anonfun$clone$1::apply, version 14311 (884 bytes)
1.26% c2, level 4 org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.Not::isMatch, version 18347 (580 bytes)
1.21% c2, level 4 org.neo4j.kernel.impl.locking.community.LockManagerImpl::accept, version 12379 (0 bytes)
1.20% c2, level 4 org.neo4j.kernel.impl.locking.community.LockManagerImpl::accept, version 12379 (0 bytes)
1.11% c2, level 4 org.neo4j.io.pagecache.impl.muninn.MuninnPageCursor::next, version 14338 (753 bytes)
1.00% runtime stub StubRoutines::vectorizedMismatch (191 bytes)
0.98% c2, level 4 scala.collection.mutable.OpenHashMap$$anonfun$foreach$1::apply, version 18358 (336 bytes)
0.92% c2, level 4 scala.collection.IndexedSeqOptimized$class::foreach, version 8190 (26 bytes)
0.91% c2, level 4 scala.collection.mutable.OpenHashMap$$anonfun$growTable$1::apply, version 18283 (319 bytes)
0.86% c2, level 4 org.neo4j.kernel.impl.store.format.standard.NodeRecordFormat::read, version 7162 (593 bytes)
0.80% c2, level 4 org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.CompositeBooleanPredicate$$anonfun$1::apply, version 18335 (377 bytes)
37.04% <...other 3773 warm regions...>
....................................................................................................
100.00% <totals>
17-b4 tiered off 1 comp thread:
....[Hottest Regions]...............................................................................
11.96% c2 java.util.HashMap$HashIterator::nextNode, version 368 (143 bytes)
5.44% c2 org.neo4j.kernel.impl.locking.community.LockManagerImpl::accept, version 2471 (118 bytes)
5.27% c2 java.util.HashMap$KeySpliterator::forEachRemaining, version 131 (143 bytes)
3.75% c2 scala.collection.mutable.OpenHashMap$$anonfun$foreachUndeletedEntry$1::apply, version 3276 (1010 bytes)
2.93% libjvm.so OopOopIterateDispatch<G1CMOopClosure>::Table::oop_oop_iterate<InstanceKlass, narrowOop> (571 bytes)
2.52% libjvm.so OopOopIterateDispatch<G1RebuildRemSetClosure>::Table::oop_oop_iterate<InstanceKlass, narrowOop> (313 bytes)
2.41% c2 scala.collection.mutable.OpenHashMap::clone, version 3411 (631 bytes)
2.13% c2 scala.collection.mutable.OpenHashMap::scala$collection$mutable$OpenHashMap$$put, version 3318 (871 bytes)
1.89% perf-1108267.map [unknown] (916 bytes)
1.66% c2 org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.Not::isMatch, version 5050 (420 bytes)
1.59% c2 scala.collection.mutable.OpenHashMap::get, version 3321 (388 bytes)
1.48% c2 org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.Not::isMatch, version 5050 (574 bytes)
1.44% libjvm.so OtherRegionsTable::add_reference (214 bytes)
1.41% c2 scala.collection.mutable.OpenHashMap::foreach, version 5088 (319 bytes)
1.37% libjvm.so G1RebuildRemSetTask::G1RebuildRemSetHeapRegionClosure::do_heap_region (497 bytes)
1.17% c2 org.neo4j.kernel.impl.store.CommonAbstractStore::readIntoRecord, version 2312 (290 bytes)
1.14% libjvm.so G1ParScanThreadState::trim_queue_to_threshold (214 bytes)
1.13% c2 org.neo4j.kernel.impl.store.format.standard.NodeRecordFormat::read, version 2613 (568 bytes)
1.11% libjvm.so OopOopIterateDispatch<G1CMOopClosure>::Table::oop_oop_iterate<ObjArrayKlass, narrowOop> (493 bytes)
1.10% perf-1108267.map [unknown] (581 bytes)
47.11% <...other 2972 warm regions...>
....................................................................................................
100.00% <totals>
8u271 default:
....[Hottest Regions]...............................................................................
5.32% C2, level 4 scala.collection.mutable.OpenHashMap::scala$collection$mutable$OpenHashMap$$put, version 10696 (992 bytes)
5.10% C2, level 4 org.neo4j.kernel.impl.locking.community.LockManagerImpl::accept, version 10978 (170 bytes)
4.66% C2, level 4 org.neo4j.cypher.internal.runtime.interpreted.pipes.NodeIndexSeeker$class::computeIndexQueries, version 19014 (50 bytes)
3.48% C2, level 4 org.neo4j.kernel.impl.store.format.standard.RelationshipRecordFormat::read, version 10146 (996 bytes)
2.50% C2, level 4 scala.collection.mutable.OpenHashMap::foreach, version 16613 (703 bytes)
2.09% C2, level 4 org.neo4j.cypher.internal.runtime.interpreted.pipes.ValueHashJoinPipe$$anonfun$3$$anonfun$apply$1::apply, version 16597 (637 bytes)
2.07% C2, level 4 org.neo4j.cypher.internal.runtime.interpreted.pipes.NodeIndexSeeker$class::computeIndexQueries, version 19014 (386 bytes)
2.06% perf-1106891.map [unknown] (512 bytes)
1.76% C2, level 4 org.neo4j.kernel.impl.store.format.standard.NodeRecordFormat::read, version 6708 (520 bytes)
1.59% C2, level 4 org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.CompositeBooleanPredicate$$anonfun$1::apply, version 16557 (544 bytes)
1.55% C1, level 3 java.util.stream.Collectors$$Lambda$34::accept, version 1226 (126 bytes)
1.51% C2, level 4 org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.Not::isMatch, version 16449 (555 bytes)
1.08% libjvm.so PSPromotionManager::copy_to_survivor_space<false> (100 bytes)
0.98% C2, level 4 org.neo4j.cypher.internal.runtime.interpreted.pipes.NodeIndexSeeker$class::computeIndexQueries, version 19014 (146 bytes)
0.94% C2, level 4 org.neo4j.cypher.internal.runtime.interpreted.pipes.ValueHashJoinPipe$$anonfun$3$$anonfun$apply$1::apply, version 16597 (171 bytes)
0.91% C1, level 3 java.util.stream.Collectors$$Lambda$34::accept, version 1226 (126 bytes)
0.91% C2, level 4 org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.CompositeBooleanPredicate::isMatch, version 12948 (553 bytes)
0.91% perf-1106891.map [unknown] (774 bytes)
0.76% libjvm.so PSPromotionManager::drain_stacks_depth (81 bytes)
0.69% C2, level 4 org.neo4j.cypher.internal.runtime.interpreted.pipes.ExpandAllPipe$$anonfun$internalCreateResults$1$$anonfun$apply$1::apply, version 16521 (761 bytes)
59.15% <...other 3554 warm regions...>
....................................................................................................
100.00% <totals>