From 72231250ed81e10d66bfe70701e64fa5fe50f712 Mon Sep 17 00:00:00 2001 From: Jon Bratseth Date: Wed, 15 Jun 2016 23:09:44 +0200 Subject: Publish --- .../com/yahoo/component/ComponentIdBenchmark.java | 50 ++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 container-di/benchmarks/src/test/java/com/yahoo/component/ComponentIdBenchmark.java (limited to 'container-di/benchmarks/src/test/java/com/yahoo/component/ComponentIdBenchmark.java') diff --git a/container-di/benchmarks/src/test/java/com/yahoo/component/ComponentIdBenchmark.java b/container-di/benchmarks/src/test/java/com/yahoo/component/ComponentIdBenchmark.java new file mode 100644 index 00000000000..e89d98941be --- /dev/null +++ b/container-di/benchmarks/src/test/java/com/yahoo/component/ComponentIdBenchmark.java @@ -0,0 +1,50 @@ +// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.component; + +/** + * @author balder + */ +public class ComponentIdBenchmark { + public void run() { + boolean result=true; + String strings[] = createStrings(1000); + // Warm-up + out("Warming up..."); + for (int i=0; i<30*1000; i++) + result = result ^ createComponentId(strings); + + long startTime=System.currentTimeMillis(); + out("Running..."); + for (int i=0; i<100*1000; i++) + result = result ^ createComponentId(strings); + out("Ignore this: " + result); // Make sure we are not fooled by optimization by creating an observable result + long endTime=System.currentTimeMillis(); + out("Create anonymous component ids of 1000 strings 100.000 times took " + (endTime-startTime) + " ms"); + } + + private final String [] createStrings(int num) { + String strings [] = new String [num]; + for(int i=0; i < strings.length; i++) { + strings[i] = "this.is.a.short.compound.name." + i; + } + return strings; + } + + private final boolean createComponentId(String [] strings) { + boolean retval = true; + for (int i=0; i < strings.length; i++) { + ComponentId n = ComponentId.createAnonymousComponentId(strings[i]); + retval = retval ^ n.isAnonymous(); + } + return retval; + } + + private void out(String string) { + System.out.println(string); + } + + public static void main(String[] args) { + new ComponentIdBenchmark().run(); + } + +} -- cgit v1.2.3