You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pr@cassandra.apache.org by "iamaleksey (via GitHub)" <gi...@apache.org> on 2023/06/15 16:43:26 UTC
[GitHub] [cassandra-accord] iamaleksey opened a new pull request, #51: Introduce iterator caching to IntrusiveLinkedList
iamaleksey opened a new pull request, #51:
URL: https://github.com/apache/cassandra-accord/pull/51
patch by Aleksey Yeschenko; reviewed by Blake Eggleston for CASSANDRA-18563
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: pr-unsubscribe@cassandra.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: pr-unsubscribe@cassandra.apache.org
For additional commands, e-mail: pr-help@cassandra.apache.org
[GitHub] [cassandra-accord] iamaleksey closed pull request #51: Introduce iterator caching to IntrusiveLinkedList
Posted by "iamaleksey (via GitHub)" <gi...@apache.org>.
iamaleksey closed pull request #51: Introduce iterator caching to IntrusiveLinkedList
URL: https://github.com/apache/cassandra-accord/pull/51
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: pr-unsubscribe@cassandra.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: pr-unsubscribe@cassandra.apache.org
For additional commands, e-mail: pr-help@cassandra.apache.org
[GitHub] [cassandra-accord] iamaleksey commented on pull request #51: Introduce iterator caching to IntrusiveLinkedList
Posted by "iamaleksey (via GitHub)" <gi...@apache.org>.
iamaleksey commented on PR #51:
URL: https://github.com/apache/cassandra-accord/pull/51#issuecomment-1593470025
@belliottsmith sure, will do before pushing the button on either of the two PRs.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: pr-unsubscribe@cassandra.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: pr-unsubscribe@cassandra.apache.org
For additional commands, e-mail: pr-help@cassandra.apache.org
[GitHub] [cassandra-accord] iamaleksey commented on pull request #51: Introduce iterator caching to IntrusiveLinkedList
Posted by "iamaleksey (via GitHub)" <gi...@apache.org>.
iamaleksey commented on PR #51:
URL: https://github.com/apache/cassandra-accord/pull/51#issuecomment-1594739474
Running with `-prof=gc` shows no difference at all in allocation rates. Haven't gone profiling deeper / looking at asm, but I feel like this data is sufficient to show that your hunch has been correct, and both Java 8 and Java 11 are smart enough to optimise these away. And in the case of explicitly cached iterator, the additional loads + write to reset the iterator are actively harmful to performance.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: pr-unsubscribe@cassandra.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: pr-unsubscribe@cassandra.apache.org
For additional commands, e-mail: pr-help@cassandra.apache.org
[GitHub] [cassandra-accord] belliottsmith commented on pull request #51: Introduce iterator caching to IntrusiveLinkedList
Posted by "belliottsmith (via GitHub)" <gi...@apache.org>.
belliottsmith commented on PR #51:
URL: https://github.com/apache/cassandra-accord/pull/51#issuecomment-1593459236
Might seem silly, but could we confirm via a simple benchmark that this doesn’t regress easily inclined iterators, that might successfully use escape analysis through scalar replacement?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: pr-unsubscribe@cassandra.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: pr-unsubscribe@cassandra.apache.org
For additional commands, e-mail: pr-help@cassandra.apache.org
[GitHub] [cassandra-accord] iamaleksey commented on pull request #51: Introduce iterator caching to IntrusiveLinkedList
Posted by "iamaleksey (via GitHub)" <gi...@apache.org>.
iamaleksey commented on PR #51:
URL: https://github.com/apache/cassandra-accord/pull/51#issuecomment-1594700049
Pushed a JMH benchmark here: https://github.com/apache/cassandra/pull/2395/commits/82c7edcce501b56e8a714f7705382278a0961b50
Java 8 results:
```
Benchmark (listSize) Mode Cnt Score Error Units
IntrusiveLinkedListBench.iteratorCachingEnabled 1 avgt 25 5.701 ± 0.268 ns/op
IntrusiveLinkedListBench.iteratorCachingEnabled 10 avgt 25 25.288 ± 0.163 ns/op
IntrusiveLinkedListBench.iteratorCachingEnabled 100 avgt 25 269.721 ± 1.305 ns/op
IntrusiveLinkedListBench.iteratorCachingDisabled 1 avgt 25 3.752 ± 0.021 ns/op
IntrusiveLinkedListBench.iteratorCachingDisabled 10 avgt 25 16.265 ± 0.063 ns/op
IntrusiveLinkedListBench.iteratorCachingDisabled 100 avgt 25 220.923 ± 8.237 ns/op
IntrusiveLinkedListBench.iteratorCachingNotImplemented 1 avgt 25 3.449 ± 0.011 ns/op
IntrusiveLinkedListBench.iteratorCachingNotImplemented 10 avgt 25 16.124 ± 0.153 ns/op
IntrusiveLinkedListBench.iteratorCachingNotImplemented 100 avgt 25 215.372 ± 1.000 ns/op
```
Java 11 results:
```
Benchmark (listSize) Mode Cnt Score Error Units
IntrusiveLinkedListBench.iteratorCachingEnabled 1 avgt 25 4.292 ± 0.027 ns/op
IntrusiveLinkedListBench.iteratorCachingEnabled 10 avgt 25 29.984 ± 0.066 ns/op
IntrusiveLinkedListBench.iteratorCachingEnabled 100 avgt 25 312.891 ± 0.918 ns/op
IntrusiveLinkedListBench.iteratorCachingDisabled 1 avgt 25 2.448 ± 0.014 ns/op
IntrusiveLinkedListBench.iteratorCachingDisabled 10 avgt 25 10.245 ± 0.033 ns/op
IntrusiveLinkedListBench.iteratorCachingDisabled 100 avgt 25 154.932 ± 0.405 ns/op
IntrusiveLinkedListBench.iteratorCachingNotImplemented 1 avgt 25 2.354 ± 0.027 ns/op
IntrusiveLinkedListBench.iteratorCachingNotImplemented 10 avgt 25 10.122 ± 0.035 ns/op
IntrusiveLinkedListBench.iteratorCachingNotImplemented 100 avgt 25 154.551 ± 0.590 ns/op
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: pr-unsubscribe@cassandra.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: pr-unsubscribe@cassandra.apache.org
For additional commands, e-mail: pr-help@cassandra.apache.org