summaryrefslogtreecommitdiffstats
path: root/it/jvpp-benchmark/pom.xml
diff options
context:
space:
mode:
authorMarek Gradzki <mgradzki@cisco.com>2018-05-21 14:43:45 +0200
committerMarek Gradzki <mgradzki@cisco.com>2018-05-24 07:25:03 +0000
commitd3cc46c357c83c0c0b41b4f64b166bbb40b74743 (patch)
tree2a0a36f962937cf44c691da072bb1017139b4e62 /it/jvpp-benchmark/pom.xml
parent3f57d2a86a086fd8c70293f51ce004aba580a5bd (diff)
JVpp JMH benchmark
Creates ACL of size aclSize using acl_add_replace, then assigns it to local0 using acl_interface_set_acl_list. Then ACL is updated synchronously using acl_add_replace. By default 20x2s warmup and 100x2s measurment iterations are performed. VPP is restarted after each iteration. Each invocation of acl_add_replace uses ACL from precomputed set of ACLs of size aclSetSize. ACLs from the set are used in round-robin fashion. Compile: cd $HC2VPP_ROOT/it/jvpp-benchmark mvn clean install Run with: sudo java -jar ./target/jvpp-benchmark-exec.jar To specify aclSize (default=100), use: sudo java -jar ./target/jvpp-benchmark-exec.jar -p aclSize=1000 To specify aclSetSize (default=100), use: sudo java -jar ./target/jvpp-benchmark-exec.jar -p aclSetSize=1000 To see more options, use java -jar ./target/jvpp-benchmark-exec.jar -h Change-Id: I43691ba891940a1c341f8e9893c8598c811bc077 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
Diffstat (limited to 'it/jvpp-benchmark/pom.xml')
-rw-r--r--it/jvpp-benchmark/pom.xml101
1 files changed, 101 insertions, 0 deletions
diff --git a/it/jvpp-benchmark/pom.xml b/it/jvpp-benchmark/pom.xml
new file mode 100644
index 000000000..f0e801e93
--- /dev/null
+++ b/it/jvpp-benchmark/pom.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (c) 2017 Cisco and/or its affiliates.
+ ~
+ ~ Licensed 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/xsd/maven-4.0.0.xsd">
+ <parent>
+ <groupId>io.fd.hc2vpp.common</groupId>
+ <artifactId>hc2vpp-parent</artifactId>
+ <version>1.18.07-SNAPSHOT</version>
+ <relativePath>../../common/hc2vpp-parent</relativePath>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>io.fd.hc2vpp.it</groupId>
+ <artifactId>jvpp-benchmark</artifactId>
+ <version>1.18.07-SNAPSHOT</version>
+ <name>${project.artifactId}</name>
+
+ <properties>
+ <jmh.version>1.21</jmh.version>
+ <shaded.name>jvpp-benchmark-exec</shaded.name>
+ <jvpp.version>18.07-SNAPSHOT</jvpp.version>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.openjdk.jmh</groupId>
+ <artifactId>jmh-core</artifactId>
+ <version>${jmh.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.openjdk.jmh</groupId>
+ <artifactId>jmh-generator-annprocess</artifactId>
+ <version>${jmh.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>io.fd.vpp</groupId>
+ <artifactId>jvpp-registry</artifactId>
+ <version>${jvpp.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>io.fd.vpp</groupId>
+ <artifactId>jvpp-acl</artifactId>
+ <version>${jvpp.version}</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-shade-plugin</artifactId>
+ <version>3.1.1</version>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>shade</goal>
+ </goals>
+ <configuration>
+ <!-- fixme: includevesion in artifact name, deploy to nexus -->
+ <finalName>${shaded.name}</finalName>
+ <transformers>
+ <transformer
+ implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
+ <mainClass>org.openjdk.jmh.Main</mainClass>
+ </transformer>
+ </transformers>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>