[
https://issues.apache.org/jira/browse/ARTEMIS-2996?focusedWorklogId=512851&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-512851
]
ASF GitHub Bot logged work on ARTEMIS-2996:
-------------------------------------------
Author: ASF GitHub Bot
Created on: 17/Nov/20 11:45
Start Date: 17/Nov/20 11:45
Worklog Time Spent: 10m
Work Description: gemmellr commented on a change in pull request #3343:
URL: https://github.com/apache/activemq-artemis/pull/3343#discussion_r525078601
##########
File path: tests/performance-jmh/README.md
##########
@@ -0,0 +1,41 @@
+Apache Artemix JMH Benchmarks
+-------
+This module contains optional
[JMH](http://openjdk.java.net/projects/code-tools/jmh/) performance tests.
+
+Note that this module is an optional part of the overall project build and
does not deploy anything, due to its use
+of JMH which is not permissively licensed. The module must either be built
directly.
Review comment:
"The module must either be built directly." Sentence fragment that
doesnt make any sense after the 'or enabled with a profile' followup was
dropped from the original proton-j source inspiration.
##########
File path: tests/performance-jmh/README.md
##########
@@ -0,0 +1,41 @@
+Apache Artemix JMH Benchmarks
+-------
+This module contains optional
[JMH](http://openjdk.java.net/projects/code-tools/jmh/) performance tests.
+
+Note that this module is an optional part of the overall project build and
does not deploy anything, due to its use
+of JMH which is not permissively licensed. The module must either be built
directly.
+
+Building the benchmarks
+-------
+The benchmarks are maven built and involve some code generation for the JMH
part. As such it is required that you
+rebuild upon changing the code.
+
+ mvn clean install
+
+Running the benchmarks: General
+-------
+It is recommended that you consider some basic benchmarking practices before
running benchmarks:
+
+ 1. Use a quiet machine with enough CPUs to run the number of threads you mean
to run.
+ 2. Set the CPU freq to avoid variance due to turbo boost/heating.
+ 3. Use an OS tool such as taskset to pin the threads in the topology you mean
to measure.
+
+Running the JMH Benchmarks
+-----
+To run all JMH benchmarks:
+
+ java -jar target/benchmark.jar
+
+To list available benchmarks:
+
+ java -jar target/proton-j-performance-jmh.jar -l
+Some JMH help:
+
+ java -jar target/proton-j-performance-jmh.jar -h
Review comment:
Missed update for the jar names (assuming the module was actually
renamed ;)).
##########
File path: tests/performance-jmh/pom.xml
##########
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>org.apache.activemq.tests</groupId>
+ <artifactId>artemis-tests-pom</artifactId>
+ <version>2.17.0-SNAPSHOT</version>
Review comment:
Since this module isn't part of the main build, this presumably wont be
updated during the release process, meaning it wont be possible to build the
module from source once released (and the matching snapshot is deleted) without
modification or also building the older snapshot. That is, assuming the test
source actually compiles at all at that point, which it may not if it hasn't
been used in a bit. Not necessarily a blocker, but something to note.
(Handling this is part of what the profile trickery in the proton-j source
inspiration does, ensuring the module is enabled and re-versioned during
release process, such that it can actually be used later from the produced
source release, and keeps a check that the module actually compiles).
----------------------------------------------------------------
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:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 512851)
Time Spent: 10h 40m (was: 10.5h)
> Provide JMH Benchmarks for Artemis
> ----------------------------------
>
> Key: ARTEMIS-2996
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2996
> Project: ActiveMQ Artemis
> Issue Type: Bug
> Components: Tests
> Reporter: Francesco Nigro
> Assignee: Francesco Nigro
> Priority: Major
> Time Spent: 10h 40m
> Remaining Estimate: 0h
>
> In order to reliably measure performance of many Artemis component would be
> welcome to implement some https://github.com/openjdk/jmh benchmarks to be
> used for development purposes ie not part of the release
--
This message was sent by Atlassian Jira
(v8.3.4#803005)