You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by franz1981 <gi...@git.apache.org> on 2017/11/18 18:32:07 UTC

[GitHub] qpid-proton-j pull request #12: PROTON-1690 JMH Benchmarks for baseline perf...

GitHub user franz1981 opened a pull request:

    https://github.com/apache/qpid-proton-j/pull/12

    PROTON-1690 JMH Benchmarks for baseline performance of Message encoding/decoding

    It adds a module to perform reliable (and repeatible) benchmarks on a basic Message encoding/decoding.
    The benchamarks could be saved in several human readable forms (normal text, CSV, JSON etc) and can be run from the IDE (to test immediatly some changes in the dev fork/branch) or as a standalone jar.
    It is just the base that could contain future benchmarks on other critical parts.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/franz1981/qpid-proton-j msg_jmh_bench

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/qpid-proton-j/pull/12.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #12
    
----
commit 950169d8a2a70778a4e1789aad2cd66d043c7b6f
Author: Francesco Nigro <ni...@gmail.com>
Date:   2017-11-18T17:51:31Z

    PROTON-1690 JMH Benchmarks for baseline performance of Message encoding/decoding

----


---

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


[GitHub] qpid-proton-j issue #12: PROTON-1690 JMH Benchmarks for baseline performance...

Posted by franz1981 <gi...@git.apache.org>.
Github user franz1981 commented on the issue:

    https://github.com/apache/qpid-proton-j/pull/12
  
    @gemmellr @tabish121 I've used the [JMH visualizer](http://jmh.morethan.io/) to compare the performances of Symbols before/after the last improvements from @tabish121 and that's what I've got:
    ![image](https://user-images.githubusercontent.com/13125299/33601774-7b8c569a-d9ad-11e7-8865-e7683a60339a.png)
    
    besides the (huge) improvement IMO it seems a pretty straightforward tool to show/measure regressions/improvements. 
    
    



---

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


[GitHub] qpid-proton-j issue #12: PROTON-1690 JMH Benchmarks for baseline performance...

Posted by gemmellr <gi...@git.apache.org>.
Github user gemmellr commented on the issue:

    https://github.com/apache/qpid-proton-j/pull/12
  
    Hi Franz
    
    Thanks for the PR. I have some feedback for changes that would be good and/or necessary.
    
    The JMH dependencies are not ALv2 compatible and so I think we should make it an optional module, which doesn't deploy anything. I think it will often be true people wont want to run those tests regularly enough to warrant including them with every build, so I think it also makes sense to make it optional for that reason anyway. Making it so unfortunately adds some issues around versioning during the release, as we will still want the module versions to get updated, so we need to adjust the process slightly to handle that. I'd also suggest that we move them under the tests directory.
    
    I've had a stab at making the build/release work with this all in mind, going with tests/performance-jmh as the new directory. I've pasted a patch at https://paste.apache.org/lgCc with some of the changes. The changes for the root pom.xml are the diff from master, instead of those here rather than on top, while the tests/performance-jmh/pom.xml is the full new file I ended up with rather than a diff from here. With the updated poms, the module can be enabled as part of the overall build by adding -Pperformance-jmh, or it can just be built serparately using its own pom directly. Theres some trickery in there to ensure the release is performed in a way that updates the versions, or else fails.
    
    The LICENSE file being added here can be removed, its covered by the one in the root dir already.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


[GitHub] qpid-proton-j issue #12: PROTON-1690 JMH Benchmarks for baseline performance...

Posted by franz1981 <gi...@git.apache.org>.
Github user franz1981 commented on the issue:

    https://github.com/apache/qpid-proton-j/pull/12
  
    Thanks @gemmellr I've tried to fix the PR using your good advices :+1: 
    And I ask your and @tabish121 help to check if the content of each benchmark respect somehow what kind of baseline you're interested for each case eg I've created a `StringsBenchmark` that encode/decode 3 strings at time but maybe you're more interested in having the benchamark to measure just 1 string encoded/decoded with several different meaningful lengths (8,36,128?) as parameters 



---

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


[GitHub] qpid-proton-j issue #12: PROTON-1690 JMH Benchmarks for baseline performance...

Posted by franz1981 <gi...@git.apache.org>.
Github user franz1981 commented on the issue:

    https://github.com/apache/qpid-proton-j/pull/12
  
    @gemmellr @tabish121 Guys, let me know if it seems reasonable (in form and content) and do not hesitate to propose other benchmarks too: I've added the first that I've found looking to some of the tests but you are the only ons that has the domain knowledge to provide more meaningful ones :+1: 


---

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


[GitHub] qpid-proton-j pull request #12: PROTON-1690 JMH Benchmarks for baseline perf...

Posted by asfgit <gi...@git.apache.org>.
Github user asfgit closed the pull request at:

    https://github.com/apache/qpid-proton-j/pull/12


---

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org