[ 
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)

Reply via email to