[GitHub] [qpid-proton-j] franz1981 commented on pull request #39: PROTON-2287 Improve Symbol decoding cache
franz1981 commented on pull request #39: URL: https://github.com/apache/qpid-proton-j/pull/39#issuecomment-722205522 The changes on this PR (especially those that save creating a `slice` while decoding should benefit decoding in general :) I'm now testing this with and end 2 end test using QPID JMS and Artemis :+1: 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (PROTON-2287) Improve Symbol decoding cache
[ https://issues.apache.org/jira/browse/PROTON-2287?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17226550#comment-17226550 ] ASF GitHub Bot commented on PROTON-2287: franz1981 commented on pull request #39: URL: https://github.com/apache/qpid-proton-j/pull/39#issuecomment-722205522 The changes on this PR (especially those that save creating a `slice` while decoding should benefit decoding in general :) I'm now testing this with and end 2 end test using QPID JMS and Artemis :+1: 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Improve Symbol decoding cache > - > > Key: PROTON-2287 > URL: https://issues.apache.org/jira/browse/PROTON-2287 > Project: Qpid Proton > Issue Type: Improvement >Reporter: Francesco Nigro >Priority: Major > > Symbol decoding cache is greatly affected by hashCode and equals speed of > ReasableBuffer: these could be improved by saving bound checks or manually > unrolling loops. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (PROTON-2287) Improve Symbol decoding cache
[ https://issues.apache.org/jira/browse/PROTON-2287?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17226529#comment-17226529 ] ASF GitHub Bot commented on PROTON-2287: franz1981 edited a comment on pull request #39: URL: https://github.com/apache/qpid-proton-j/pull/39#issuecomment-722175119 This is the improvement related: `master` ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt5 283.784 ± 4.618 ns/op ``` ``` Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 770.841 ± 6.285 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 113.202 ± 0.330 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 114.003 ± 1.756 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 581.803 ± 2.284 ns/op ``` ``` Benchmark (chunks) (direct) (size) Mode CntScore Error Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 25.528 ± 0.038 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 33.414 ± 0.117 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 61.316 ± 2.427 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 26.567 ± 1.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 40.832 ± 0.672 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 125.804 ± 0.590 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 27.091 ± 0.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 16 avgt 10 29.060 ± 0.032 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 64 avgt 10 60.711 ± 3.901 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 8 avgt 10 29.594 ± 0.262 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 16 avgt 10 45.407 ± 1.230 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 64 avgt 10 149.863 ± 0.794 ns/op ``` on this pr: ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt 20 197.239 ± 2.010 ns/op ``` ``` Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 768.331 ± 2.098 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 59.398 ± 0.385 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 61.704 ± 4.174 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 279.393 ± 2.857 ns/op ``` ``` Benchmark (chunks) (direct) (size) Mode CntScoreError Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 19.090 ± 0.548 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 24.537 ± 0.175 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 57.523 ± 0.647 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 22.165 ± 0.068 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 35.275 ± 0.153 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 82.179 ± 0.196 ns/op
[GitHub] [qpid-proton-j] franz1981 edited a comment on pull request #39: PROTON-2287 Improve Symbol decoding cache
franz1981 edited a comment on pull request #39: URL: https://github.com/apache/qpid-proton-j/pull/39#issuecomment-722175119 This is the improvement related: `master` ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt5 283.784 ± 4.618 ns/op ``` ``` Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 770.841 ± 6.285 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 113.202 ± 0.330 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 114.003 ± 1.756 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 581.803 ± 2.284 ns/op ``` ``` Benchmark (chunks) (direct) (size) Mode CntScore Error Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 25.528 ± 0.038 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 33.414 ± 0.117 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 61.316 ± 2.427 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 26.567 ± 1.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 40.832 ± 0.672 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 125.804 ± 0.590 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 27.091 ± 0.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 16 avgt 10 29.060 ± 0.032 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 64 avgt 10 60.711 ± 3.901 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 8 avgt 10 29.594 ± 0.262 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 16 avgt 10 45.407 ± 1.230 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 64 avgt 10 149.863 ± 0.794 ns/op ``` on this pr: ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt 20 197.239 ± 2.010 ns/op ``` ``` Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 768.331 ± 2.098 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 59.398 ± 0.385 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 61.704 ± 4.174 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 279.393 ± 2.857 ns/op ``` ``` Benchmark (chunks) (direct) (size) Mode CntScoreError Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 19.090 ± 0.548 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 24.537 ± 0.175 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 57.523 ± 0.647 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 22.165 ± 0.068 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 35.275 ± 0.153 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 82.179 ± 0.196 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 22.076 ± 0.080 ns/op
[jira] [Commented] (PROTON-2287) Improve Symbol decoding cache
[ https://issues.apache.org/jira/browse/PROTON-2287?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17226527#comment-17226527 ] ASF GitHub Bot commented on PROTON-2287: franz1981 edited a comment on pull request #39: URL: https://github.com/apache/qpid-proton-j/pull/39#issuecomment-722175119 This is the improvement related: `master` ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt5 283.784 ± 4.618 ns/op ``` ``` Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 770.841 ± 6.285 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 113.202 ± 0.330 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 114.003 ± 1.756 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 581.803 ± 2.284 ns/op ``` ``` Benchmark (chunks) (direct) (size) Mode CntScore Error Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 25.528 ± 0.038 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 33.414 ± 0.117 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 61.316 ± 2.427 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 26.567 ± 1.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 40.832 ± 0.672 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 125.804 ± 0.590 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 27.091 ± 0.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 16 avgt 10 29.060 ± 0.032 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 64 avgt 10 60.711 ± 3.901 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 8 avgt 10 29.594 ± 0.262 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 16 avgt 10 45.407 ± 1.230 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 64 avgt 10 149.863 ± 0.794 ns/op ``` on this pr: ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt 20 197.239 ± 2.010 ns/op ``` ``` Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 768.331 ± 2.098 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 59.398 ± 0.385 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 61.704 ± 4.174 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 279.393 ± 2.857 ns/op ``` ``` Benchmark (chunks) (direct) (size) Mode Cnt ScoreError Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 18.944 ± 0.015 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 24.422 ± 0.171 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 57.659 ± 1.164 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 23.357 ± 1.817 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 35.253 ± 0.184 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 99.871 ± 0.428 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 22.183 ± 0.219 ns/op
[jira] [Commented] (PROTON-2287) Improve Symbol decoding cache
[ https://issues.apache.org/jira/browse/PROTON-2287?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17226526#comment-17226526 ] ASF GitHub Bot commented on PROTON-2287: franz1981 edited a comment on pull request #39: URL: https://github.com/apache/qpid-proton-j/pull/39#issuecomment-722175119 This is the improvement related: `master` ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt5 283.784 ± 4.618 ns/op ``` ``` Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 770.841 ± 6.285 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 113.202 ± 0.330 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 114.003 ± 1.756 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 581.803 ± 2.284 ns/op ``` ``` Benchmark (chunks) (direct) (size) Mode CntScore Error Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 25.528 ± 0.038 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 33.414 ± 0.117 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 61.316 ± 2.427 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 26.567 ± 1.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 40.832 ± 0.672 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 125.804 ± 0.590 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 27.091 ± 0.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 16 avgt 10 29.060 ± 0.032 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 64 avgt 10 60.711 ± 3.901 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 8 avgt 10 29.594 ± 0.262 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 16 avgt 10 45.407 ± 1.230 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 64 avgt 10 149.863 ± 0.794 ns/op ``` on this pr: ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt 20 197.239 ± 2.010 ns/op ``` ``` Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 768.331 ± 2.098 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 59.398 ± 0.385 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 61.704 ± 4.174 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 279.393 ± 2.857 ns/op ``` ``` Benchmark (chunks) (direct) (size) Mode Cnt ScoreError Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 18.944 ± 0.015 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 24.422 ± 0.171 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 57.659 ± 1.164 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 23.357 ± 1.817 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 35.253 ± 0.184 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 99.871 ± 0.428 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 22.183 ± 0.219 ns/op
[GitHub] [qpid-proton-j] franz1981 edited a comment on pull request #39: PROTON-2287 Improve Symbol decoding cache
franz1981 edited a comment on pull request #39: URL: https://github.com/apache/qpid-proton-j/pull/39#issuecomment-722175119 This is the improvement related: `master` ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt5 283.784 ± 4.618 ns/op ``` ``` Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 770.841 ± 6.285 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 113.202 ± 0.330 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 114.003 ± 1.756 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 581.803 ± 2.284 ns/op ``` ``` Benchmark (chunks) (direct) (size) Mode CntScore Error Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 25.528 ± 0.038 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 33.414 ± 0.117 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 61.316 ± 2.427 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 26.567 ± 1.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 40.832 ± 0.672 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 125.804 ± 0.590 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 27.091 ± 0.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 16 avgt 10 29.060 ± 0.032 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 64 avgt 10 60.711 ± 3.901 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 8 avgt 10 29.594 ± 0.262 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 16 avgt 10 45.407 ± 1.230 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 64 avgt 10 149.863 ± 0.794 ns/op ``` on this pr: ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt 20 197.239 ± 2.010 ns/op ``` ``` Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 768.331 ± 2.098 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 59.398 ± 0.385 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 61.704 ± 4.174 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 279.393 ± 2.857 ns/op ``` ``` Benchmark (chunks) (direct) (size) Mode Cnt ScoreError Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 18.944 ± 0.015 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 24.422 ± 0.171 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 57.659 ± 1.164 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 23.357 ± 1.817 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 35.253 ± 0.184 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 99.871 ± 0.428 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 22.183 ± 0.219 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 16 avgt 10 26.349 ± 0.053 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 64 avgt
[GitHub] [qpid-proton-j] franz1981 edited a comment on pull request #39: PROTON-2287 Improve Symbol decoding cache
franz1981 edited a comment on pull request #39: URL: https://github.com/apache/qpid-proton-j/pull/39#issuecomment-722175119 This is the improvement related: `master` ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt5 283.784 ± 4.618 ns/op ``` ``` Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 770.841 ± 6.285 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 113.202 ± 0.330 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 114.003 ± 1.756 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 581.803 ± 2.284 ns/op ``` ``` Benchmark (chunks) (direct) (size) Mode CntScore Error Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 25.528 ± 0.038 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 33.414 ± 0.117 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 61.316 ± 2.427 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 26.567 ± 1.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 40.832 ± 0.672 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 125.804 ± 0.590 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 27.091 ± 0.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 16 avgt 10 29.060 ± 0.032 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 64 avgt 10 60.711 ± 3.901 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 8 avgt 10 29.594 ± 0.262 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 16 avgt 10 45.407 ± 1.230 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 64 avgt 10 149.863 ± 0.794 ns/op ``` on this pr: ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt 20 197.239 ± 2.010 ns/op ``` ``` Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 768.331 ± 2.098 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 59.398 ± 0.385 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 61.704 ± 4.174 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 279.393 ± 2.857 ns/op ``` ``` Benchmark (chunks) (direct) (size) Mode Cnt ScoreError Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 18.944 ± 0.015 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 24.422 ± 0.171 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 57.659 ± 1.164 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 23.357 ± 1.817 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 35.253 ± 0.184 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 99.871 ± 0.428 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 22.183 ± 0.219 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 16 avgt 10 26.349 ± 0.053 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 64 avgt
[jira] [Commented] (PROTON-2287) Improve Symbol decoding cache
[ https://issues.apache.org/jira/browse/PROTON-2287?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17226522#comment-17226522 ] ASF GitHub Bot commented on PROTON-2287: franz1981 edited a comment on pull request #39: URL: https://github.com/apache/qpid-proton-j/pull/39#issuecomment-722175119 This is the improvement related: `master` ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt5 283.784 ± 4.618 ns/op ``` ``` Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 770.841 ± 6.285 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 113.202 ± 0.330 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 114.003 ± 1.756 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 581.803 ± 2.284 ns/op ``` ``` Benchmark (chunks) (direct) (size) Mode CntScore Error Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 25.528 ± 0.038 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 33.414 ± 0.117 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 61.316 ± 2.427 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 26.567 ± 1.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 40.832 ± 0.672 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 125.804 ± 0.590 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 27.091 ± 0.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 16 avgt 10 29.060 ± 0.032 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 64 avgt 10 60.711 ± 3.901 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 8 avgt 10 29.594 ± 0.262 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 16 avgt 10 45.407 ± 1.230 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 64 avgt 10 149.863 ± 0.794 ns/op ``` on this pr: ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt 20 197.239 ± 2.010 ns/op ``` ``` Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 768.331 ± 2.098 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 59.398 ± 0.385 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 61.704 ± 4.174 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 279.393 ± 2.857 ns/op ``` ``` Benchmark (chunks) (direct) (size) Mode Cnt ScoreError Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 18.944 ± 0.015 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 24.422 ± 0.171 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 57.659 ± 1.164 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 23.357 ± 1.817 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 35.253 ± 0.184 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 99.871 ± 0.428 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 22.183 ± 0.219 ns/op
[jira] [Commented] (PROTON-2287) Improve Symbol decoding cache
[ https://issues.apache.org/jira/browse/PROTON-2287?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17226523#comment-17226523 ] ASF GitHub Bot commented on PROTON-2287: franz1981 edited a comment on pull request #39: URL: https://github.com/apache/qpid-proton-j/pull/39#issuecomment-722175119 This is the improvement related: `master` ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt5 283.784 ± 4.618 ns/op ``` ``` Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 770.841 ± 6.285 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 113.202 ± 0.330 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 114.003 ± 1.756 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 581.803 ± 2.284 ns/op ``` ``` Benchmark (chunks) (direct) (size) Mode CntScore Error Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 25.528 ± 0.038 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 33.414 ± 0.117 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 61.316 ± 2.427 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 26.567 ± 1.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 40.832 ± 0.672 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 125.804 ± 0.590 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 27.091 ± 0.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 16 avgt 10 29.060 ± 0.032 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 64 avgt 10 60.711 ± 3.901 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 8 avgt 10 29.594 ± 0.262 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 16 avgt 10 45.407 ± 1.230 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 64 avgt 10 149.863 ± 0.794 ns/op ``` on this pr: ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt 20 197.239 ± 2.010 ns/op ``` ``` Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 768.331 ± 2.098 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 59.398 ± 0.385 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 61.704 ± 4.174 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 279.393 ± 2.857 ns/op ``` ``` Benchmark (chunks) (direct) (size) Mode Cnt ScoreError Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 18.944 ± 0.015 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 24.422 ± 0.171 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 57.659 ± 1.164 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 23.357 ± 1.817 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 35.253 ± 0.184 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 99.871 ± 0.428 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 22.183 ± 0.219 ns/op
[jira] [Commented] (PROTON-2287) Improve Symbol decoding cache
[ https://issues.apache.org/jira/browse/PROTON-2287?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17226524#comment-17226524 ] ASF GitHub Bot commented on PROTON-2287: franz1981 edited a comment on pull request #39: URL: https://github.com/apache/qpid-proton-j/pull/39#issuecomment-722175119 This is the improvement related: `master` ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt5 283.784 ± 4.618 ns/op ``` ``` Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 770.841 ± 6.285 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 113.202 ± 0.330 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 114.003 ± 1.756 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 581.803 ± 2.284 ns/op ``` ``` Benchmark (chunks) (direct) (size) Mode CntScore Error Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 25.528 ± 0.038 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 33.414 ± 0.117 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 61.316 ± 2.427 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 26.567 ± 1.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 40.832 ± 0.672 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 125.804 ± 0.590 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 27.091 ± 0.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 16 avgt 10 29.060 ± 0.032 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 64 avgt 10 60.711 ± 3.901 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 8 avgt 10 29.594 ± 0.262 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 16 avgt 10 45.407 ± 1.230 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 64 avgt 10 149.863 ± 0.794 ns/op ``` on this pr: ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt 20 197.239 ± 2.010 ns/op ``` ``` Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 768.331 ± 2.098 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 59.398 ± 0.385 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 61.704 ± 4.174 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 279.393 ± 2.857 ns/op ``` ``` Benchmark (chunks) (direct) (size) Mode Cnt ScoreError Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 18.944 ± 0.015 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 24.422 ± 0.171 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 57.659 ± 1.164 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 23.357 ± 1.817 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 35.253 ± 0.184 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 99.871 ± 0.428 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 22.183 ± 0.219 ns/op
[GitHub] [qpid-proton-j] franz1981 edited a comment on pull request #39: PROTON-2287 Improve Symbol decoding cache
franz1981 edited a comment on pull request #39: URL: https://github.com/apache/qpid-proton-j/pull/39#issuecomment-722175119 This is the improvement related: `master` ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt5 283.784 ± 4.618 ns/op ``` ``` Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 770.841 ± 6.285 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 113.202 ± 0.330 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 114.003 ± 1.756 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 581.803 ± 2.284 ns/op ``` ``` Benchmark (chunks) (direct) (size) Mode CntScore Error Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 25.528 ± 0.038 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 33.414 ± 0.117 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 61.316 ± 2.427 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 26.567 ± 1.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 40.832 ± 0.672 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 125.804 ± 0.590 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 27.091 ± 0.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 16 avgt 10 29.060 ± 0.032 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 64 avgt 10 60.711 ± 3.901 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 8 avgt 10 29.594 ± 0.262 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 16 avgt 10 45.407 ± 1.230 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 64 avgt 10 149.863 ± 0.794 ns/op ``` on this pr: ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt 20 197.239 ± 2.010 ns/op ``` ``` Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 768.331 ± 2.098 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 59.398 ± 0.385 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 61.704 ± 4.174 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 279.393 ± 2.857 ns/op ``` ``` Benchmark (chunks) (direct) (size) Mode Cnt ScoreError Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 18.944 ± 0.015 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 24.422 ± 0.171 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 57.659 ± 1.164 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 23.357 ± 1.817 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 35.253 ± 0.184 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 99.871 ± 0.428 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 22.183 ± 0.219 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 16 avgt 10 26.349 ± 0.053 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 64 avgt
[GitHub] [qpid-proton-j] franz1981 edited a comment on pull request #39: PROTON-2287 Improve Symbol decoding cache
franz1981 edited a comment on pull request #39: URL: https://github.com/apache/qpid-proton-j/pull/39#issuecomment-722175119 This is the improvement related: `master` ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt5 283.784 ± 4.618 ns/op ``` ``` Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 770.841 ± 6.285 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 113.202 ± 0.330 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 114.003 ± 1.756 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 581.803 ± 2.284 ns/op ``` ``` Benchmark (chunks) (direct) (size) Mode CntScore Error Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 25.528 ± 0.038 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 33.414 ± 0.117 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 61.316 ± 2.427 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 26.567 ± 1.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 40.832 ± 0.672 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 125.804 ± 0.590 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 27.091 ± 0.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 16 avgt 10 29.060 ± 0.032 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 64 avgt 10 60.711 ± 3.901 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 8 avgt 10 29.594 ± 0.262 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 16 avgt 10 45.407 ± 1.230 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 64 avgt 10 149.863 ± 0.794 ns/op ``` on this pr: ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt 20 197.239 ± 2.010 ns/op ``` ``` Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 768.331 ± 2.098 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 59.398 ± 0.385 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 61.704 ± 4.174 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 279.393 ± 2.857 ns/op ``` ``` Benchmark (chunks) (direct) (size) Mode Cnt ScoreError Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 18.944 ± 0.015 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 24.422 ± 0.171 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 57.659 ± 1.164 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 23.357 ± 1.817 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 35.253 ± 0.184 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 99.871 ± 0.428 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 22.183 ± 0.219 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 16 avgt 10 26.349 ± 0.053 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 64 avgt
[jira] [Commented] (PROTON-2287) Improve Symbol decoding cache
[ https://issues.apache.org/jira/browse/PROTON-2287?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17226521#comment-17226521 ] ASF GitHub Bot commented on PROTON-2287: franz1981 edited a comment on pull request #39: URL: https://github.com/apache/qpid-proton-j/pull/39#issuecomment-722175119 This is the improvement related: `master` ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt5 283.784 ± 4.618 ns/op ``` ``` Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 770.841 ± 6.285 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 113.202 ± 0.330 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 114.003 ± 1.756 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 581.803 ± 2.284 ns/op ``` ``` Benchmark (chunks) (direct) (size) Mode CntScore Error Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 25.528 ± 0.038 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 33.414 ± 0.117 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 61.316 ± 2.427 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 26.567 ± 1.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 40.832 ± 0.672 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 125.804 ± 0.590 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 27.091 ± 0.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 16 avgt 10 29.060 ± 0.032 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 64 avgt 10 60.711 ± 3.901 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 8 avgt 10 29.594 ± 0.262 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 16 avgt 10 45.407 ± 1.230 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 64 avgt 10 149.863 ± 0.794 ns/op ``` on this pr: ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt 20 197.239 ± 2.010 ns/op ``` ``` Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 768.331 ± 2.098 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 59.398 ± 0.385 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 61.704 ± 4.174 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 279.393 ± 2.857 ns/op ``` ``` Benchmark (chunks) (direct) (size) Mode Cnt ScoreError Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 18.944 ± 0.015 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 24.422 ± 0.171 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 57.659 ± 1.164 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 23.357 ± 1.817 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 35.253 ± 0.184 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 99.871 ± 0.428 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 22.183 ± 0.219 ns/op
[GitHub] [qpid-proton-j] franz1981 edited a comment on pull request #39: PROTON-2287 Improve Symbol decoding cache
franz1981 edited a comment on pull request #39: URL: https://github.com/apache/qpid-proton-j/pull/39#issuecomment-722175119 This is the improvement related: `master` ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt5 283.784 ± 4.618 ns/op ``` ``` Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 770.841 ± 6.285 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 113.202 ± 0.330 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 114.003 ± 1.756 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 581.803 ± 2.284 ns/op ``` ``` Benchmark (chunks) (direct) (size) Mode CntScore Error Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 25.528 ± 0.038 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 33.414 ± 0.117 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 61.316 ± 2.427 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 26.567 ± 1.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 40.832 ± 0.672 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 125.804 ± 0.590 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 27.091 ± 0.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 16 avgt 10 29.060 ± 0.032 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 64 avgt 10 60.711 ± 3.901 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 8 avgt 10 29.594 ± 0.262 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 16 avgt 10 45.407 ± 1.230 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 64 avgt 10 149.863 ± 0.794 ns/op ``` on this pr: ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt 20 197.239 ± 2.010 ns/op ``` ``` Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 768.331 ± 2.098 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 59.398 ± 0.385 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 61.704 ± 4.174 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 279.393 ± 2.857 ns/op ``` ``` Benchmark (chunks) (direct) (size) Mode Cnt ScoreError Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 18.944 ± 0.015 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 24.422 ± 0.171 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 57.659 ± 1.164 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 23.357 ± 1.817 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 35.253 ± 0.184 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 99.871 ± 0.428 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 22.183 ± 0.219 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 16 avgt 10 26.349 ± 0.053 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 64 avgt
[GitHub] [qpid-proton-j] franz1981 edited a comment on pull request #39: PROTON-2287 Improve Symbol decoding cache
franz1981 edited a comment on pull request #39: URL: https://github.com/apache/qpid-proton-j/pull/39#issuecomment-722175119 This is the improvement related: `master` ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt5 283.784 ± 4.618 ns/op ``` ``` Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 770.841 ± 6.285 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 113.202 ± 0.330 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 114.003 ± 1.756 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 581.803 ± 2.284 ns/op ``` ``` Benchmark (chunks) (direct) (size) Mode CntScore Error Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 25.528 ± 0.038 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 33.414 ± 0.117 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 61.316 ± 2.427 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 26.567 ± 1.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 40.832 ± 0.672 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 125.804 ± 0.590 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 27.091 ± 0.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 16 avgt 10 29.060 ± 0.032 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 64 avgt 10 60.711 ± 3.901 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 8 avgt 10 29.594 ± 0.262 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 16 avgt 10 45.407 ± 1.230 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 64 avgt 10 149.863 ± 0.794 ns/op ``` on this pr: ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt 20 197.239 ± 2.010 ns/op ``` ``` Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 768.331 ± 2.098 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 59.398 ± 0.385 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 61.704 ± 4.174 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 279.393 ± 2.857 ns/op ``` ``` Benchmark (chunks) (direct) (size) Mode Cnt ScoreError Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 18.944 ± 0.015 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 24.422 ± 0.171 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 57.659 ± 1.164 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 23.357 ± 1.817 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 35.253 ± 0.184 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 99.871 ± 0.428 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 22.183 ± 0.219 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 16 avgt 10 26.349 ± 0.053 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 64
[jira] [Commented] (PROTON-2287) Improve Symbol decoding cache
[ https://issues.apache.org/jira/browse/PROTON-2287?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17226520#comment-17226520 ] ASF GitHub Bot commented on PROTON-2287: franz1981 edited a comment on pull request #39: URL: https://github.com/apache/qpid-proton-j/pull/39#issuecomment-722175119 This is the improvement related: `master` ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt5 283.784 ± 4.618 ns/op ``` ``` Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 770.841 ± 6.285 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 113.202 ± 0.330 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 114.003 ± 1.756 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 581.803 ± 2.284 ns/op ``` ``` Benchmark (chunks) (direct) (size) Mode CntScore Error Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 25.528 ± 0.038 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 33.414 ± 0.117 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 61.316 ± 2.427 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 26.567 ± 1.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 40.832 ± 0.672 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 125.804 ± 0.590 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 27.091 ± 0.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 16 avgt 10 29.060 ± 0.032 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 64 avgt 10 60.711 ± 3.901 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 8 avgt 10 29.594 ± 0.262 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 16 avgt 10 45.407 ± 1.230 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 64 avgt 10 149.863 ± 0.794 ns/op ``` on this pr: ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt 20 197.239 ± 2.010 ns/op ``` ``` Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 768.331 ± 2.098 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 59.398 ± 0.385 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 61.704 ± 4.174 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 279.393 ± 2.857 ns/op ``` ``` Benchmark (chunks) (direct) (size) Mode Cnt ScoreError Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 18.944 ± 0.015 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 24.422 ± 0.171 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 57.659 ± 1.164 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 23.357 ± 1.817 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 35.253 ± 0.184 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 99.871 ± 0.428 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 22.183 ± 0.219 ns/op
[GitHub] [qpid-proton-j] franz1981 edited a comment on pull request #39: PROTON-2287 Improve Symbol decoding cache
franz1981 edited a comment on pull request #39: URL: https://github.com/apache/qpid-proton-j/pull/39#issuecomment-722175119 This is the improvement related: `master` ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt5 283.784 ± 4.618 ns/op ``` ``` Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 770.841 ± 6.285 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 113.202 ± 0.330 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 114.003 ± 1.756 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 581.803 ± 2.284 ns/op ``` ``` Benchmark (chunks) (direct) (size) Mode CntScore Error Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 25.528 ± 0.038 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 33.414 ± 0.117 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 61.316 ± 2.427 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 26.567 ± 1.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 40.832 ± 0.672 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 125.804 ± 0.590 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 27.091 ± 0.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 16 avgt 10 29.060 ± 0.032 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 64 avgt 10 60.711 ± 3.901 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 8 avgt 10 29.594 ± 0.262 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 16 avgt 10 45.407 ± 1.230 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 64 avgt 10 149.863 ± 0.794 ns/op ``` on this pr: ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt 20 197.239 ± 2.010 ns/op ``` ``` Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 768.331 ± 2.098 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 59.398 ± 0.385 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 61.704 ± 4.174 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 279.393 ± 2.857 ns/op ``` ``` Benchmark (chunks) (direct) (size) Mode Cnt ScoreError Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 18.944 ± 0.015 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 24.422 ± 0.171 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 57.659 ± 1.164 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 23.357 ± 1.817 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 35.253 ± 0.184 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 99.871 ± 0.428 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 22.183 ± 0.219 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 16 avgt 10 26.349 ± 0.053 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 64 avgt
[GitHub] [qpid-proton-j] franz1981 edited a comment on pull request #39: PROTON-2287 Improve Symbol decoding cache
franz1981 edited a comment on pull request #39: URL: https://github.com/apache/qpid-proton-j/pull/39#issuecomment-722175119 This is the improvement related: `master` ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt5 283.784 ± 4.618 ns/op ``` ``` Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 770.841 ± 6.285 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 113.202 ± 0.330 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 114.003 ± 1.756 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 581.803 ± 2.284 ns/op ``` ``` Benchmark (chunks) (direct) (size) Mode CntScore Error Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 25.528 ± 0.038 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 33.414 ± 0.117 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 61.316 ± 2.427 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 26.567 ± 1.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 40.832 ± 0.672 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 125.804 ± 0.590 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 27.091 ± 0.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 16 avgt 10 29.060 ± 0.032 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 64 avgt 10 60.711 ± 3.901 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 8 avgt 10 29.594 ± 0.262 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 16 avgt 10 45.407 ± 1.230 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 64 avgt 10 149.863 ± 0.794 ns/op ``` on this pr: ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt 20 197.239 ± 2.010 ns/op ``` ``` Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 768.331 ± 2.098 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 59.398 ± 0.385 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 61.704 ± 4.174 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 279.393 ± 2.857 ns/op ``` ``` Benchmark (chunks) (direct) (size) Mode Cnt ScoreError Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 18.944 ± 0.015 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 24.422 ± 0.171 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 57.659 ± 1.164 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 23.357 ± 1.817 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 35.253 ± 0.184 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 90.982 ± 15.027 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 22.183 ± 0.219 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 16 avgt 10 26.349 ± 0.053 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 64 avgt
[jira] [Commented] (PROTON-2287) Improve Symbol decoding cache
[ https://issues.apache.org/jira/browse/PROTON-2287?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17226519#comment-17226519 ] ASF GitHub Bot commented on PROTON-2287: franz1981 edited a comment on pull request #39: URL: https://github.com/apache/qpid-proton-j/pull/39#issuecomment-722175119 This is the improvement related: `master` ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt5 283.784 ± 4.618 ns/op ``` ``` Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 770.841 ± 6.285 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 113.202 ± 0.330 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 114.003 ± 1.756 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 581.803 ± 2.284 ns/op ``` ``` Benchmark (chunks) (direct) (size) Mode CntScore Error Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 25.528 ± 0.038 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 33.414 ± 0.117 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 61.316 ± 2.427 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 26.567 ± 1.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 40.832 ± 0.672 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 125.804 ± 0.590 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 27.091 ± 0.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 16 avgt 10 29.060 ± 0.032 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 64 avgt 10 60.711 ± 3.901 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 8 avgt 10 29.594 ± 0.262 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 16 avgt 10 45.407 ± 1.230 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 64 avgt 10 149.863 ± 0.794 ns/op ``` on this pr: ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt 20 197.239 ± 2.010 ns/op ``` ``` Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 768.331 ± 2.098 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 59.398 ± 0.385 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 61.704 ± 4.174 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 279.393 ± 2.857 ns/op ``` ``` Benchmark (chunks) (direct) (size) Mode Cnt ScoreError Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 18.944 ± 0.015 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 24.422 ± 0.171 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 57.659 ± 1.164 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 23.357 ± 1.817 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 35.253 ± 0.184 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 90.982 ± 15.027 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 22.183 ± 0.219 ns/op
[jira] [Commented] (PROTON-2287) Improve Symbol decoding cache
[ https://issues.apache.org/jira/browse/PROTON-2287?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17226515#comment-17226515 ] ASF GitHub Bot commented on PROTON-2287: franz1981 commented on pull request #39: URL: https://github.com/apache/qpid-proton-j/pull/39#issuecomment-722175119 This is the improvement related: `master` ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt5 283.784 ± 4.618 ns/op Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 770.841 ± 6.285 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 113.202 ± 0.330 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 114.003 ± 1.756 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 581.803 ± 2.284 ns/op Benchmark (chunks) (direct) (size) Mode CntScore Error Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 25.528 ± 0.038 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 33.414 ± 0.117 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 61.316 ± 2.427 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 26.567 ± 1.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 40.832 ± 0.672 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 125.804 ± 0.590 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 27.091 ± 0.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 16 avgt 10 29.060 ± 0.032 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 64 avgt 10 60.711 ± 3.901 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 8 avgt 10 29.594 ± 0.262 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 16 avgt 10 45.407 ± 1.230 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 64 avgt 10 149.863 ± 0.794 ns/op ``` on this pr: ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt 20 197.239 ± 2.010 ns/op Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 768.331 ± 2.098 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 59.398 ± 0.385 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 61.704 ± 4.174 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 279.393 ± 2.857 ns/op Benchmark (chunks) (direct) (size) Mode Cnt ScoreError Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 18.944 ± 0.015 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 24.422 ± 0.171 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 57.659 ± 1.164 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 23.357 ± 1.817 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 35.253 ± 0.184 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 90.982 ± 15.027 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 22.183 ± 0.219 ns/op
[GitHub] [qpid-proton-j] franz1981 edited a comment on pull request #39: PROTON-2287 Improve Symbol decoding cache
franz1981 edited a comment on pull request #39: URL: https://github.com/apache/qpid-proton-j/pull/39#issuecomment-722175119 This is the improvement related: `master` ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt5 283.784 ± 4.618 ns/op ``` ``` Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 770.841 ± 6.285 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 113.202 ± 0.330 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 114.003 ± 1.756 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 581.803 ± 2.284 ns/op ``` ``` Benchmark (chunks) (direct) (size) Mode CntScore Error Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 25.528 ± 0.038 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 33.414 ± 0.117 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 61.316 ± 2.427 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 26.567 ± 1.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 40.832 ± 0.672 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 125.804 ± 0.590 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 27.091 ± 0.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 16 avgt 10 29.060 ± 0.032 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 64 avgt 10 60.711 ± 3.901 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 8 avgt 10 29.594 ± 0.262 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 16 avgt 10 45.407 ± 1.230 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 64 avgt 10 149.863 ± 0.794 ns/op ``` on this pr: ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt 20 197.239 ± 2.010 ns/op ``` ``` Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 768.331 ± 2.098 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 59.398 ± 0.385 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 61.704 ± 4.174 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 279.393 ± 2.857 ns/op ``` ``` Benchmark (chunks) (direct) (size) Mode Cnt ScoreError Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 18.944 ± 0.015 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 24.422 ± 0.171 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 57.659 ± 1.164 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 23.357 ± 1.817 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 35.253 ± 0.184 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 90.982 ± 15.027 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 22.183 ± 0.219 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 16 avgt 10 26.349 ± 0.053 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 64 avgt
[jira] [Commented] (PROTON-2287) Improve Symbol decoding cache
[ https://issues.apache.org/jira/browse/PROTON-2287?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17226516#comment-17226516 ] ASF GitHub Bot commented on PROTON-2287: franz1981 edited a comment on pull request #39: URL: https://github.com/apache/qpid-proton-j/pull/39#issuecomment-722175119 This is the improvement related: `master` ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt5 283.784 ± 4.618 ns/op ``` ``` Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 770.841 ± 6.285 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 113.202 ± 0.330 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 114.003 ± 1.756 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 581.803 ± 2.284 ns/op ``` ``` Benchmark (chunks) (direct) (size) Mode CntScore Error Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 25.528 ± 0.038 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 33.414 ± 0.117 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 61.316 ± 2.427 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 26.567 ± 1.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 40.832 ± 0.672 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 125.804 ± 0.590 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 27.091 ± 0.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 16 avgt 10 29.060 ± 0.032 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 64 avgt 10 60.711 ± 3.901 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 8 avgt 10 29.594 ± 0.262 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 16 avgt 10 45.407 ± 1.230 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 64 avgt 10 149.863 ± 0.794 ns/op ``` on this pr: ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt 20 197.239 ± 2.010 ns/op ``` ``` Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 768.331 ± 2.098 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 59.398 ± 0.385 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 61.704 ± 4.174 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 279.393 ± 2.857 ns/op ``` ``` Benchmark (chunks) (direct) (size) Mode Cnt ScoreError Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 18.944 ± 0.015 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 24.422 ± 0.171 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 57.659 ± 1.164 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 23.357 ± 1.817 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 35.253 ± 0.184 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 90.982 ± 15.027 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 22.183 ± 0.219 ns/op
[jira] [Commented] (PROTON-2287) Improve Symbol decoding cache
[ https://issues.apache.org/jira/browse/PROTON-2287?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17226513#comment-17226513 ] ASF GitHub Bot commented on PROTON-2287: franz1981 opened a new pull request #39: URL: https://github.com/apache/qpid-proton-j/pull/39 https://issues.apache.org/jira/browse/PROTON-2287 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Improve Symbol decoding cache > - > > Key: PROTON-2287 > URL: https://issues.apache.org/jira/browse/PROTON-2287 > Project: Qpid Proton > Issue Type: Improvement >Reporter: Francesco Nigro >Priority: Major > > Symbol decoding cache is greatly affected by hashCode and equals speed of > ReasableBuffer: these could be improved by saving bound checks or manually > unrolling loops. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[GitHub] [qpid-proton-j] franz1981 commented on pull request #39: PROTON-2287 Improve Symbol decoding cache
franz1981 commented on pull request #39: URL: https://github.com/apache/qpid-proton-j/pull/39#issuecomment-722175119 This is the improvement related: `master` ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt5 283.784 ± 4.618 ns/op Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 770.841 ± 6.285 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 113.202 ± 0.330 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 114.003 ± 1.756 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 581.803 ± 2.284 ns/op Benchmark (chunks) (direct) (size) Mode CntScore Error Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 25.528 ± 0.038 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 33.414 ± 0.117 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 61.316 ± 2.427 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 26.567 ± 1.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 40.832 ± 0.672 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 125.804 ± 0.590 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 27.091 ± 0.156 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 16 avgt 10 29.060 ± 0.032 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 64 avgt 10 60.711 ± 3.901 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 8 avgt 10 29.594 ± 0.262 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 16 avgt 10 45.407 ± 1.230 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 true 64 avgt 10 149.863 ± 0.794 ns/op ``` on this pr: ``` Benchmark Mode CntScore Error Units SymbolsBenchmark.decode avgt 20 197.239 ± 2.010 ns/op Benchmark Mode CntScore Error Units CompositeReadableBufferBenchmark.hashCodeMultipleArrayFullSpan avgt 10 768.331 ± 2.098 ns/op CompositeReadableBufferBenchmark.hashCodeMultipleArraySpanInSingleArray avgt 10 59.398 ± 0.385 ns/op CompositeReadableBufferBenchmark.hashCodeSingArraySpanInSingleArray avgt 10 61.704 ± 4.174 ns/op CompositeReadableBufferBenchmark.hashCodeSingleArrayFullSpan avgt 10 279.393 ± 2.857 ns/op Benchmark (chunks) (direct) (size) Mode Cnt ScoreError Units CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 8 avgt 10 18.944 ± 0.015 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 16 avgt 10 24.422 ± 0.171 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 false 64 avgt 10 57.659 ± 1.164 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 8 avgt 10 23.357 ± 1.817 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 16 avgt 10 35.253 ± 0.184 ns/op CompositeReadableBufferEqualsBenchmark.equalsToByteBufferReader 1 true 64 avgt 10 90.982 ± 15.027 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 8 avgt 10 22.183 ± 0.219 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 16 avgt 10 26.349 ± 0.053 ns/op CompositeReadableBufferEqualsBenchmark.equalsToWithSingleArraySubsetOfBuffer 1 false 64 avgt 10 58.976 ± 0.432 ns/op
[GitHub] [qpid-proton-j] franz1981 opened a new pull request #39: PROTON-2287 Improve Symbol decoding cache
franz1981 opened a new pull request #39: URL: https://github.com/apache/qpid-proton-j/pull/39 https://issues.apache.org/jira/browse/PROTON-2287 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Created] (PROTON-2287) Improve Symbol decoding cache
Francesco Nigro created PROTON-2287: --- Summary: Improve Symbol decoding cache Key: PROTON-2287 URL: https://issues.apache.org/jira/browse/PROTON-2287 Project: Qpid Proton Issue Type: Improvement Reporter: Francesco Nigro Symbol decoding cache is greatly affected by hashCode and equals speed of ReasableBuffer: these could be improved by saving bound checks or manually unrolling loops. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (DISPATCH-1776) HTTP/2 - grpc call causes segfault
[ https://issues.apache.org/jira/browse/DISPATCH-1776?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17226411#comment-17226411 ] ASF subversion and git services commented on DISPATCH-1776: --- Commit 2f4db21b910d432c67874ca730b3f57bd748d543 in qpid-dispatch's branch refs/heads/dev-protocol-adaptors-2 from Ganesh Murthy [ https://gitbox.apache.org/repos/asf?p=qpid-dispatch.git;h=2f4db21 ] DISPATCH-1776: Check for presence of next_stream_data before trying to free it > HTTP/2 - grpc call causes segfault > -- > > Key: DISPATCH-1776 > URL: https://issues.apache.org/jira/browse/DISPATCH-1776 > Project: Qpid Dispatch > Issue Type: Sub-task > Components: Protocol Adaptors >Reporter: Gordon Sim >Assignee: Ganesh Murthy >Priority: Major > Fix For: 1.15.0 > > > Running a simple grpc echo (over http2) through the router causes a segfault. > To reproduce run router with (you can change the ports if desired, just be > consistent with the server and client): > {noformat} > router { > mode: interior > } > listener { > host: 0.0.0.0 > port: amqp > authenticatePeer: no > saslMechanisms: ANONYMOUS > } > httpListener { > host: 0.0.0.0 > port: 9090 > address: foo > protocolVersion: HTTP2 > } > httpConnector { > host: 127.0.0.1 > port: 8080 > address: foo > protocolVersion: HTTP2 > } > log { > module: HTTP_ADAPTOR > enable: trace+ > } > {noformat} > Then run grpc server with podman (or docker): > {noformat} > podman run -it -p8080:9000 quay.io/mhausenblas/yages:0.1.0 > {noformat} > Then run grpc client, again with podman (or docker): > {noformat} > podman run -it --network=host quay.io/mhausenblas/gump:0.1 grpcurl > --plaintext 127.0.0.1:9090 yages.Echo.Ping > {noformat} > I see segfault with following backtrace: > {noformat} > Thread 4 "qdrouterd" received signal SIGSEGV, Segmentation fault. > [Switching to Thread 0x7fffeedb5700 (LWP 3841832)] > 0x77f4a417 in qd_compose_end_map () at > /home/gordon/projects/dispatch/src/compose.c:179 > 179 DEQ_INSERT_HEAD(field->fieldStack, comp); > Missing separate debuginfos, use: dnf debuginfo-install > cyrus-sasl-lib-2.1.27-2.fc31.x86_64 keyutils-libs-1.6-3.fc31.x86_64 > krb5-libs-1.17-46.fc31.x86_64 libcom_err-1.45.5-1.fc31.x86_64 > libev-4.27-1.fc31.x86_64 libffi-3.1-23.fc31.x86_64 > libnghttp2-1.41.0-1.fc31.x86_64 libselinux-2.9-5.fc31.x86_64 > libuv-1.34.2-1.fc31.x86_64 libwebsockets-3.2.1-1.fc31.x86_64 > libxcrypt-4.4.15-1.fc31.x86_64 openssl-libs-1.1.1d-2.fc31.x86_64 > pcre2-10.34-8.fc31.x86_64 python3-libs-3.7.6-2.fc31.x86_64 > zlib-1.2.11-20.fc31.x86_64 > (gdb) bt > #0 0x77f4a417 in qd_compose_end_map () at > /home/gordon/projects/dispatch/src/compose.c:179 > #1 0x77f4008a in on_frame_recv_callback (session=, > frame=0x64ea70, user_data=0x64a308) at > /home/gordon/projects/dispatch/src/adaptors/http2/http2_adaptor.c:702 > #2 0x77a8c32e in nghttp2_session_mem_recv () from > /lib64/libnghttp2.so.14 > #3 0x77f41bdd in handle_incoming_http (conn=0x64a308) at > /home/gordon/projects/dispatch/src/adaptors/http2/http2_adaptor.h:149 > #4 handle_connection_event (e=, qd_server=, > context=0x64a308) at > /home/gordon/projects/dispatch/src/adaptors/http2/http2_adaptor.c:1456 > #5 0x77f933f1 in handle_event_with_context (context=, > qd_server=, e=) at > /home/gordon/projects/dispatch/src/server.c:781 > #6 do_handle_raw_connection_event (qd_server=, e= out>) at /home/gordon/projects/dispatch/src/server.c:787 > #7 handle (qd_server=qd_server@entry=0x4371d0, e=e@entry=0x7fffe4000c20, > pn_conn=pn_conn@entry=0x0, ctx=ctx@entry=0x0) at > /home/gordon/projects/dispatch/src/server.c:1067 > #8 0x77f942c8 in thread_run (arg=0x4371d0) at > /home/gordon/projects/dispatch/src/server.c:1099 > #9 0x77e7f4e2 in start_thread () from /lib64/libpthread.so.0 > #10 0x779b46d3 in clone () from /lib64/libc.so.6 > {noformat} > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (DISPATCH-1776) HTTP/2 - grpc call causes segfault
[ https://issues.apache.org/jira/browse/DISPATCH-1776?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17226350#comment-17226350 ] Gordon Sim commented on DISPATCH-1776: -- With latest code the failure is much less frequent, but running the ping example abive several times I got: {noformat} Using host libthread_db library "/lib64/libthread_db.so.1". Core was generated by `qdrouterd -c /home/gordon/projects/router-config-examples/http2-bridges.conf'. Program terminated with signal SIGSEGV, Segmentation fault. #0 0x7fa1cbbb80cb in qd_message_stream_data_release (stream_data=0x0) at /home/gordon/projects/dispatch/src/message.c:2514 2514qd_message_pvt_t *pvt = stream_data->owning_message; [Current thread is 1 (Thread 0x7fa1c29bf700 (LWP 2061461))] Missing separate debuginfos, use: dnf debuginfo-install cyrus-sasl-lib-2.1.27-2.fc31.x86_64 glibc-2.30-10.fc31.x86_64 keyutils-libs-1.6-3.fc31.x86_64 krb5-libs-1.17-46.fc31.x86_64 libcom_err-1.45.5-1.fc31.x86_64 libev-4.27-1.fc31.x86_64 libffi-3.1-23.fc31.x86_64 libnghttp2-1.41.0-1.fc31.x86_64 libselinux-2.9-5.fc31.x86_64 libuv-1.34.2-1.fc31.x86_64 libwebsockets-3.2.1-1.fc31.x86_64 libxcrypt-4.4.15-1.fc31.x86_64 openssl-libs-1.1.1d-2.fc31.x86_64 pcre2-10.34-8.fc31.x86_64 python3-libs-3.7.6-2.fc31.x86_64 zlib-1.2.11-20.fc31.x86_64 (gdb) bt #0 0x7fa1cbbb80cb in qd_message_stream_data_release (stream_data=0x0) at /home/gordon/projects/dispatch/src/message.c:2514 #1 0x7fa1cbb8fde1 in read_data_callback (session=, stream_id=, buf=, length=, data_flags=0x7fa1c29bdcf4, source=, user_data=0x812c88) at /home/gordon/projects/dispatch/src/adaptors/http2/http2_adaptor.c:1009 #2 0x7fa1cb6d5ce9 in nghttp2_session_pack_data () from /lib64/libnghttp2.so.14 #3 0x7fa1cb6d68bb in nghttp2_session_mem_send_internal () from /lib64/libnghttp2.so.14 #4 0x7fa1cb6d7079 in nghttp2_session_send () from /lib64/libnghttp2.so.14 #5 0x7fa1cbb9387d in handle_outgoing_http (stream_data=stream_data@entry=0x7fa1b402a208) at /home/gordon/projects/dispatch/src/adaptors/http2/http2_adaptor.c:1539 #6 0x7fa1cbb93d84 in qdr_http_deliver (context=, link=0x7fa1b81626c8, delivery=0x7fa1ac01d8c8, settled=) at /home/gordon/projects/dispatch/src/adaptors/http2/http2_adaptor.c:1705 #7 0x7fa1cbbdfb15 in qdr_link_process_deliveries (core=0x7e50e0, link=0x7fa1b81626c8, credit=1) at /home/gordon/projects/dispatch/src/router_core/transfer.c:167 #8 0x7fa1cbbcb151 in qdr_connection_process (conn=0x82cb48) at /home/gordon/projects/dispatch/src/router_core/connections.c:383 #9 0x7fa1cbb941b9 in handle_connection_event (e=, qd_server=, context=0x812c88) at /home/gordon/projects/dispatch/src/adaptors/http2/http2_adaptor.c:2125 #10 0x7fa1cbbeff71 in handle_event_with_context (context=, qd_server=, e=) at /home/gordon/projects/dispatch/src/server.c:804 #11 do_handle_raw_connection_event (qd_server=, e=) at /home/gordon/projects/dispatch/src/server.c:810 #12 handle (qd_server=qd_server@entry=0x7a78e0, e=e@entry=0x7fa1b8006800, pn_conn=pn_conn@entry=0x0, ctx=ctx@entry=0x0) at /home/gordon/projects/dispatch/src/server.c:1090 #13 0x7fa1cbbf0fa8 in thread_run (arg=0x7a78e0) at /home/gordon/projects/dispatch/src/server.c:1122 #14 0x7fa1cbacb4e2 in start_thread () from /lib64/libpthread.so.0 #15 0x7fa1cb6006d3 in clone () from /lib64/libc.so.6 {noformat} > HTTP/2 - grpc call causes segfault > -- > > Key: DISPATCH-1776 > URL: https://issues.apache.org/jira/browse/DISPATCH-1776 > Project: Qpid Dispatch > Issue Type: Sub-task > Components: Protocol Adaptors >Reporter: Gordon Sim >Assignee: Ganesh Murthy >Priority: Major > Fix For: 1.15.0 > > > Running a simple grpc echo (over http2) through the router causes a segfault. > To reproduce run router with (you can change the ports if desired, just be > consistent with the server and client): > {noformat} > router { > mode: interior > } > listener { > host: 0.0.0.0 > port: amqp > authenticatePeer: no > saslMechanisms: ANONYMOUS > } > httpListener { > host: 0.0.0.0 > port: 9090 > address: foo > protocolVersion: HTTP2 > } > httpConnector { > host: 127.0.0.1 > port: 8080 > address: foo > protocolVersion: HTTP2 > } > log { > module: HTTP_ADAPTOR > enable: trace+ > } > {noformat} > Then run grpc server with podman (or docker): > {noformat} > podman run -it -p8080:9000 quay.io/mhausenblas/yages:0.1.0 > {noformat} > Then run grpc client, again with podman (or docker): > {noformat} > podman run -it --network=host quay.io/mhausenblas/gump:0.1 grpcurl > --plaintext 127.0.0.1:9090 yages.Echo.Ping > {noformat} > I see segfault with following backtrace: > {noformat} > Thread 4 "qdrouterd" received signal SIGSEGV,
[jira] [Resolved] (DISPATCH-1826) Various instabilities in the tcp protocol adaptor
[ https://issues.apache.org/jira/browse/DISPATCH-1826?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ted Ross resolved DISPATCH-1826. Resolution: Fixed > Various instabilities in the tcp protocol adaptor > - > > Key: DISPATCH-1826 > URL: https://issues.apache.org/jira/browse/DISPATCH-1826 > Project: Qpid Dispatch > Issue Type: Bug > Components: Protocol Adaptors >Reporter: Ted Ross >Assignee: Ted Ross >Priority: Major > Fix For: 1.15.0 > > > Several instabilities and leaks have been discovered in the TCP protocol > adaptor: > * Temporary addresses accumulate in the core address table > * Race: and ingress message can be composed and sent before the reply-to > address is established > * Deliveries, messages, and buffers are held and leaked by the adaptor -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (DISPATCH-1826) Various instabilities in the tcp protocol adaptor
[ https://issues.apache.org/jira/browse/DISPATCH-1826?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17226300#comment-17226300 ] ASF subversion and git services commented on DISPATCH-1826: --- Commit 9c58c5ed4c64dc8cfba4bbf6c83ae9a8255120a0 in qpid-dispatch's branch refs/heads/dev-protocol-adaptors-2 from Ted Ross [ https://gitbox.apache.org/repos/asf?p=qpid-dispatch.git;h=9c58c5e ] DISPATCH-1826 - Fixes for: - Accumulated temporary address records - Race condition where ingress message is sent before reply-to is established - Deliveries, messages, and buffers are leaked when connections close > Various instabilities in the tcp protocol adaptor > - > > Key: DISPATCH-1826 > URL: https://issues.apache.org/jira/browse/DISPATCH-1826 > Project: Qpid Dispatch > Issue Type: Bug > Components: Protocol Adaptors >Reporter: Ted Ross >Assignee: Ted Ross >Priority: Major > Fix For: 1.15.0 > > > Several instabilities and leaks have been discovered in the TCP protocol > adaptor: > * Temporary addresses accumulate in the core address table > * Race: and ingress message can be composed and sent before the reply-to > address is established > * Deliveries, messages, and buffers are held and leaked by the adaptor -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Created] (DISPATCH-1826) Various instabilities in the tcp protocol adaptor
Ted Ross created DISPATCH-1826: -- Summary: Various instabilities in the tcp protocol adaptor Key: DISPATCH-1826 URL: https://issues.apache.org/jira/browse/DISPATCH-1826 Project: Qpid Dispatch Issue Type: Bug Components: Protocol Adaptors Reporter: Ted Ross Assignee: Ted Ross Fix For: 1.15.0 Several instabilities and leaks have been discovered in the TCP protocol adaptor: * Temporary addresses accumulate in the core address table * Race: and ingress message can be composed and sent before the reply-to address is established * Deliveries, messages, and buffers are held and leaked by the adaptor -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (DISPATCH-1780) multicast support for http 1.1 adaptor
[ https://issues.apache.org/jira/browse/DISPATCH-1780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17226259#comment-17226259 ] ASF GitHub Bot commented on DISPATCH-1780: -- kgiusti commented on a change in pull request #909: URL: https://github.com/apache/qpid-dispatch/pull/909#discussion_r516675946 ## File path: python/qpid_dispatch/management/qdrouter.json ## @@ -1165,6 +1177,18 @@ "default": "HTTP1", "required": false, "create": true +}, +"aggregation": { +"type": "string", Review comment: Ditto above comment ## File path: python/qpid_dispatch/management/qdrouter.json ## @@ -1124,6 +1124,18 @@ "default": "HTTP1", "required": false, "create": true +}, +"aggregation": { +"type": "string", Review comment: Would it be possible to use a 'type' list of allowed values here like we do for protocolVersion? ## File path: src/adaptors/http1/http1_codec.c ## @@ -1528,6 +1533,62 @@ static inline void _flush_headers(h1_codec_request_state_t *hrs, struct encoder_ } } +int h1_codec_tx_begin_multipart(h1_codec_request_state_t *hrs) +{ +h1_codec_connection_t *conn = h1_codec_request_state_get_connection(hrs); +struct encoder_t *encoder = >encoder; +encoder->boundary_marker = (char*) malloc(QD_DISCRIMINATOR_SIZE + 2); Review comment: Should the boundary_marker be freed in the encoder reset function? or perhaps during end_multipart? ## File path: src/adaptors/http1/http1_server.c ## @@ -1056,11 +1063,10 @@ void qdr_http1_server_core_link_flow(qdr_http1_adaptor_t*adaptor, rmsg->dlv = qdr_link_deliver_to(hconn->in_link, rmsg->msg, 0, addr, false, 0, 0, 0, 0); qdr_delivery_set_context(rmsg->dlv, (void*) hreq); rmsg->msg = 0; -if (!rmsg->rx_complete) { +if (!rmsg->rx_complete || hconn->cfg.aggregation != QD_AGGREGATION_NONE) { // stop here since response must be complete before we can deliver the next one. Review comment: Why exit sooner than rx_complete if aggregation? comment needs updating ## File path: src/adaptors/http1/http1_client.c ## @@ -1218,6 +1406,26 @@ uint64_t qdr_http1_client_core_link_deliver(qdr_http1_adaptor_t*adaptor, _client_response_msg_t *rmsg = DEQ_TAIL(hreq->responses); assert(rmsg && rmsg->dlv == delivery); +if (hconn->cfg.aggregation != QD_AGGREGATION_NONE) { Review comment: Pls add comment explaining that responses are saved and not encoded until after the request has been accepted. ## File path: src/adaptors/http1/http1_client.c ## @@ -541,7 +546,12 @@ static void _client_tx_buffers_cb(h1_codec_request_state_t *hrs, qd_buffer_list_ // responses are decoded one at a time - the current response it at the // tail of the response list -_client_response_msg_t *rmsg = DEQ_TAIL(hreq->responses); +_client_response_msg_t *rmsg; +if (hconn->cfg.aggregation == QD_AGGREGATION_NONE) { +rmsg = DEQ_TAIL(hreq->responses); +} else { +rmsg = DEQ_HEAD(hreq->responses); Review comment: My brain exploded. Why the _head_ response message? ## File path: src/adaptors/http1/http1_client.c ## @@ -575,7 +585,12 @@ static void _client_tx_stream_data_cb(h1_codec_request_state_t *hrs, qd_message_ // responses are decoded one at a time - the current response it at the // tail of the response list -_client_response_msg_t *rmsg = DEQ_TAIL(hreq->responses); +_client_response_msg_t *rmsg; +if (hconn->cfg.aggregation == QD_AGGREGATION_NONE) { +rmsg = DEQ_TAIL(hreq->responses); +} else { +rmsg = DEQ_HEAD(hreq->responses); Review comment: Ouch - brain explodes again! ## File path: src/adaptors/http1/http1_client.c ## @@ -942,6 +1126,10 @@ void qdr_http1_client_core_delivery_update(qdr_http1_adaptor_t *adaptor, qdr_http1_error_response(>base, 503, "Service Unavailable"); Review comment: Note that qdr_http1_error_response() calls h1_codec_tx_done which closes the encoder - will that conflict with the new aggregation code below? Should the new code be skipped if !PN_ACCEPTED? ## File path: src/adaptors/http1/http1_client.c ## @@ -541,7 +546,12 @@ static void _client_tx_buffers_cb(h1_codec_request_state_t *hrs, qd_buffer_list_ // responses are decoded one at a time - the current response it at the // tail of the response list -_client_response_msg_t *rmsg = DEQ_TAIL(hreq->responses); +_client_response_msg_t *rmsg; +if
[GitHub] [qpid-dispatch] kgiusti commented on a change in pull request #909: DISPATCH-1780: first stab at aggregated multicast
kgiusti commented on a change in pull request #909: URL: https://github.com/apache/qpid-dispatch/pull/909#discussion_r516675946 ## File path: python/qpid_dispatch/management/qdrouter.json ## @@ -1165,6 +1177,18 @@ "default": "HTTP1", "required": false, "create": true +}, +"aggregation": { +"type": "string", Review comment: Ditto above comment ## File path: python/qpid_dispatch/management/qdrouter.json ## @@ -1124,6 +1124,18 @@ "default": "HTTP1", "required": false, "create": true +}, +"aggregation": { +"type": "string", Review comment: Would it be possible to use a 'type' list of allowed values here like we do for protocolVersion? ## File path: src/adaptors/http1/http1_codec.c ## @@ -1528,6 +1533,62 @@ static inline void _flush_headers(h1_codec_request_state_t *hrs, struct encoder_ } } +int h1_codec_tx_begin_multipart(h1_codec_request_state_t *hrs) +{ +h1_codec_connection_t *conn = h1_codec_request_state_get_connection(hrs); +struct encoder_t *encoder = >encoder; +encoder->boundary_marker = (char*) malloc(QD_DISCRIMINATOR_SIZE + 2); Review comment: Should the boundary_marker be freed in the encoder reset function? or perhaps during end_multipart? ## File path: src/adaptors/http1/http1_server.c ## @@ -1056,11 +1063,10 @@ void qdr_http1_server_core_link_flow(qdr_http1_adaptor_t*adaptor, rmsg->dlv = qdr_link_deliver_to(hconn->in_link, rmsg->msg, 0, addr, false, 0, 0, 0, 0); qdr_delivery_set_context(rmsg->dlv, (void*) hreq); rmsg->msg = 0; -if (!rmsg->rx_complete) { +if (!rmsg->rx_complete || hconn->cfg.aggregation != QD_AGGREGATION_NONE) { // stop here since response must be complete before we can deliver the next one. Review comment: Why exit sooner than rx_complete if aggregation? comment needs updating ## File path: src/adaptors/http1/http1_client.c ## @@ -1218,6 +1406,26 @@ uint64_t qdr_http1_client_core_link_deliver(qdr_http1_adaptor_t*adaptor, _client_response_msg_t *rmsg = DEQ_TAIL(hreq->responses); assert(rmsg && rmsg->dlv == delivery); +if (hconn->cfg.aggregation != QD_AGGREGATION_NONE) { Review comment: Pls add comment explaining that responses are saved and not encoded until after the request has been accepted. ## File path: src/adaptors/http1/http1_client.c ## @@ -541,7 +546,12 @@ static void _client_tx_buffers_cb(h1_codec_request_state_t *hrs, qd_buffer_list_ // responses are decoded one at a time - the current response it at the // tail of the response list -_client_response_msg_t *rmsg = DEQ_TAIL(hreq->responses); +_client_response_msg_t *rmsg; +if (hconn->cfg.aggregation == QD_AGGREGATION_NONE) { +rmsg = DEQ_TAIL(hreq->responses); +} else { +rmsg = DEQ_HEAD(hreq->responses); Review comment: My brain exploded. Why the _head_ response message? ## File path: src/adaptors/http1/http1_client.c ## @@ -575,7 +585,12 @@ static void _client_tx_stream_data_cb(h1_codec_request_state_t *hrs, qd_message_ // responses are decoded one at a time - the current response it at the // tail of the response list -_client_response_msg_t *rmsg = DEQ_TAIL(hreq->responses); +_client_response_msg_t *rmsg; +if (hconn->cfg.aggregation == QD_AGGREGATION_NONE) { +rmsg = DEQ_TAIL(hreq->responses); +} else { +rmsg = DEQ_HEAD(hreq->responses); Review comment: Ouch - brain explodes again! ## File path: src/adaptors/http1/http1_client.c ## @@ -942,6 +1126,10 @@ void qdr_http1_client_core_delivery_update(qdr_http1_adaptor_t *adaptor, qdr_http1_error_response(>base, 503, "Service Unavailable"); Review comment: Note that qdr_http1_error_response() calls h1_codec_tx_done which closes the encoder - will that conflict with the new aggregation code below? Should the new code be skipped if !PN_ACCEPTED? ## File path: src/adaptors/http1/http1_client.c ## @@ -541,7 +546,12 @@ static void _client_tx_buffers_cb(h1_codec_request_state_t *hrs, qd_buffer_list_ // responses are decoded one at a time - the current response it at the // tail of the response list -_client_response_msg_t *rmsg = DEQ_TAIL(hreq->responses); +_client_response_msg_t *rmsg; +if (hconn->cfg.aggregation == QD_AGGREGATION_NONE) { +rmsg = DEQ_TAIL(hreq->responses); +} else { +rmsg = DEQ_HEAD(hreq->responses); Review comment: Update: now I understand - we buffer all responses and hold off writing them until
[jira] [Commented] (DISPATCH-1654) tcp protocol bridging (ingress and egress)
[ https://issues.apache.org/jira/browse/DISPATCH-1654?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17226041#comment-17226041 ] ASF subversion and git services commented on DISPATCH-1654: --- Commit eb319fe15f0411f13d77eb5921e479a88a439de7 in qpid-dispatch's branch refs/heads/dev-protocol-adaptors-2 from Gordon Sim [ https://gitbox.apache.org/repos/asf?p=qpid-dispatch.git;h=eb319fe ] DISPATCH-1654: fix to ensure connections on egress are closed in all cases (patch from Ted Ross) > tcp protocol bridging (ingress and egress) > -- > > Key: DISPATCH-1654 > URL: https://issues.apache.org/jira/browse/DISPATCH-1654 > Project: Qpid Dispatch > Issue Type: Improvement >Reporter: Gordon Sim >Assignee: Gordon Sim >Priority: Major > Fix For: 1.15.0 > > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org