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