Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 285202 Details for
Bug 570094
Add NonDisposedReporter to default IDE application & enable in SDK product
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Perf measurement snippet
Bug569752_Performance.java (text/plain), 10.02 KB, created by
Alexandr Miloslavskiy
on 2021-01-06 06:36:55 EST
(
hide
)
Description:
Perf measurement snippet
Filename:
MIME Type:
Creator:
Alexandr Miloslavskiy
Created:
2021-01-06 06:36:55 EST
Size:
10.02 KB
patch
obsolete
>/******************************************************************************* > * Copyright (c) 2020 Syntevo and others. > * > * This program and the accompanying materials > * are made available under the terms of the Eclipse Public License 2.0 > * which accompanies this distribution, and is available at > * https://www.eclipse.org/legal/epl-2.0/ > * > * SPDX-License-Identifier: EPL-2.0 > * > * Contributors: > * Syntevo - initial API and implementation > *******************************************************************************/ >package org.eclipse.swt.tests.manual; > >import java.util.ArrayList; > >public class Bug569752_Performance { > static ArrayList<Exception> exceptions = new ArrayList<>(); > > static void fun32_0(int value) { > exceptions.add(new Exception()); > } > > static void fun32_1(int value) { > exceptions.add(new Exception()); > } > > static void fun31_0(int value) { > if ((value & (1 << 31)) == 0) > fun32_0(value); > else > fun32_1(value); > } > > static void fun31_1(int value) { > if ((value & (1 << 31)) == 0) > fun32_0(value); > else > fun32_1(value); > } > > static void fun30_0(int value) { > if ((value & (1 << 30)) == 0) > fun31_0(value); > else > fun31_1(value); > } > > static void fun30_1(int value) { > if ((value & (1 << 30)) == 0) > fun31_0(value); > else > fun31_1(value); > } > > static void fun29_0(int value) { > if ((value & (1 << 29)) == 0) > fun30_0(value); > else > fun30_1(value); > } > > static void fun29_1(int value) { > if ((value & (1 << 29)) == 0) > fun30_0(value); > else > fun30_1(value); > } > > static void fun28_0(int value) { > if ((value & (1 << 28)) == 0) > fun29_0(value); > else > fun29_1(value); > } > > static void fun28_1(int value) { > if ((value & (1 << 28)) == 0) > fun29_0(value); > else > fun29_1(value); > } > > static void fun27_0(int value) { > if ((value & (1 << 27)) == 0) > fun28_0(value); > else > fun28_1(value); > } > > static void fun27_1(int value) { > if ((value & (1 << 27)) == 0) > fun28_0(value); > else > fun28_1(value); > } > > static void fun26_0(int value) { > if ((value & (1 << 26)) == 0) > fun27_0(value); > else > fun27_1(value); > } > > static void fun26_1(int value) { > if ((value & (1 << 26)) == 0) > fun27_0(value); > else > fun27_1(value); > } > > static void fun25_0(int value) { > if ((value & (1 << 25)) == 0) > fun26_0(value); > else > fun26_1(value); > } > > static void fun25_1(int value) { > if ((value & (1 << 25)) == 0) > fun26_0(value); > else > fun26_1(value); > } > > static void fun24_0(int value) { > if ((value & (1 << 24)) == 0) > fun25_0(value); > else > fun25_1(value); > } > > static void fun24_1(int value) { > if ((value & (1 << 24)) == 0) > fun25_0(value); > else > fun25_1(value); > } > > static void fun23_0(int value) { > if ((value & (1 << 23)) == 0) > fun24_0(value); > else > fun24_1(value); > } > > static void fun23_1(int value) { > if ((value & (1 << 23)) == 0) > fun24_0(value); > else > fun24_1(value); > } > > static void fun22_0(int value) { > if ((value & (1 << 22)) == 0) > fun23_0(value); > else > fun23_1(value); > } > > static void fun22_1(int value) { > if ((value & (1 << 22)) == 0) > fun23_0(value); > else > fun23_1(value); > } > > static void fun21_0(int value) { > if ((value & (1 << 21)) == 0) > fun22_0(value); > else > fun22_1(value); > } > > static void fun21_1(int value) { > if ((value & (1 << 21)) == 0) > fun22_0(value); > else > fun22_1(value); > } > > static void fun20_0(int value) { > if ((value & (1 << 20)) == 0) > fun21_0(value); > else > fun21_1(value); > } > > static void fun20_1(int value) { > if ((value & (1 << 20)) == 0) > fun21_0(value); > else > fun21_1(value); > } > > static void fun19_0(int value) { > if ((value & (1 << 19)) == 0) > fun20_0(value); > else > fun20_1(value); > } > > static void fun19_1(int value) { > if ((value & (1 << 19)) == 0) > fun20_0(value); > else > fun20_1(value); > } > > static void fun18_0(int value) { > if ((value & (1 << 18)) == 0) > fun19_0(value); > else > fun19_1(value); > } > > static void fun18_1(int value) { > if ((value & (1 << 18)) == 0) > fun19_0(value); > else > fun19_1(value); > } > > static void fun17_0(int value) { > if ((value & (1 << 17)) == 0) > fun18_0(value); > else > fun18_1(value); > } > > static void fun17_1(int value) { > if ((value & (1 << 17)) == 0) > fun18_0(value); > else > fun18_1(value); > } > > static void fun16_0(int value) { > if ((value & (1 << 16)) == 0) > fun17_0(value); > else > fun17_1(value); > } > > static void fun16_1(int value) { > if ((value & (1 << 16)) == 0) > fun17_0(value); > else > fun17_1(value); > } > > static void fun15_0(int value) { > if ((value & (1 << 15)) == 0) > fun16_0(value); > else > fun16_1(value); > } > > static void fun15_1(int value) { > if ((value & (1 << 15)) == 0) > fun16_0(value); > else > fun16_1(value); > } > > static void fun14_0(int value) { > if ((value & (1 << 14)) == 0) > fun15_0(value); > else > fun15_1(value); > } > > static void fun14_1(int value) { > if ((value & (1 << 14)) == 0) > fun15_0(value); > else > fun15_1(value); > } > > static void fun13_0(int value) { > if ((value & (1 << 13)) == 0) > fun14_0(value); > else > fun14_1(value); > } > > static void fun13_1(int value) { > if ((value & (1 << 13)) == 0) > fun14_0(value); > else > fun14_1(value); > } > > static void fun12_0(int value) { > if ((value & (1 << 12)) == 0) > fun13_0(value); > else > fun13_1(value); > } > > static void fun12_1(int value) { > if ((value & (1 << 12)) == 0) > fun13_0(value); > else > fun13_1(value); > } > > static void fun11_0(int value) { > if ((value & (1 << 11)) == 0) > fun12_0(value); > else > fun12_1(value); > } > > static void fun11_1(int value) { > if ((value & (1 << 11)) == 0) > fun12_0(value); > else > fun12_1(value); > } > > static void fun10_0(int value) { > if ((value & (1 << 10)) == 0) > fun11_0(value); > else > fun11_1(value); > } > > static void fun10_1(int value) { > if ((value & (1 << 10)) == 0) > fun11_0(value); > else > fun11_1(value); > } > > static void fun09_0(int value) { > if ((value & (1 << 9)) == 0) > fun10_0(value); > else > fun10_1(value); > } > > static void fun09_1(int value) { > if ((value & (1 << 9)) == 0) > fun10_0(value); > else > fun10_1(value); > } > > static void fun08_0(int value) { > if ((value & (1 << 8)) == 0) > fun09_0(value); > else > fun09_1(value); > } > > static void fun08_1(int value) { > if ((value & (1 << 8)) == 0) > fun09_0(value); > else > fun09_1(value); > } > > static void fun07_0(int value) { > if ((value & (1 << 7)) == 0) > fun08_0(value); > else > fun08_1(value); > } > > static void fun07_1(int value) { > if ((value & (1 << 7)) == 0) > fun08_0(value); > else > fun08_1(value); > } > > static void fun06_0(int value) { > if ((value & (1 << 6)) == 0) > fun07_0(value); > else > fun07_1(value); > } > > static void fun06_1(int value) { > if ((value & (1 << 6)) == 0) > fun07_0(value); > else > fun07_1(value); > } > > static void fun05_0(int value) { > if ((value & (1 << 5)) == 0) > fun06_0(value); > else > fun06_1(value); > } > > static void fun05_1(int value) { > if ((value & (1 << 5)) == 0) > fun06_0(value); > else > fun06_1(value); > } > > static void fun04_0(int value) { > if ((value & (1 << 4)) == 0) > fun05_0(value); > else > fun05_1(value); > } > > static void fun04_1(int value) { > if ((value & (1 << 4)) == 0) > fun05_0(value); > else > fun05_1(value); > } > > static void fun03_0(int value) { > if ((value & (1 << 3)) == 0) > fun04_0(value); > else > fun04_1(value); > } > > static void fun03_1(int value) { > if ((value & (1 << 3)) == 0) > fun04_0(value); > else > fun04_1(value); > } > > static void fun02_0(int value) { > if ((value & (1 << 2)) == 0) > fun03_0(value); > else > fun03_1(value); > } > > static void fun02_1(int value) { > if ((value & (1 << 2)) == 0) > fun03_0(value); > else > fun03_1(value); > } > > static void fun01_0(int value) { > if ((value & (1 << 1)) == 0) > fun02_0(value); > else > fun02_1(value); > } > > static void fun01_1(int value) { > if ((value & (1 << 1)) == 0) > fun02_0(value); > else > fun02_1(value); > } > > static void fun00_0(int value) { > if ((value & (1 << 0)) == 0) > fun01_0(value); > else > fun01_1(value); > } > > static void fun00_1(int value) { > if ((value & (1 << 0)) == 0) > fun01_0(value); > else > fun01_1(value); > } > > static void generateCode(int depth) { > for (int j = 0; j < 2; j++) { > System.out.format("static void fun%02d_%d(int value) {\n", depth, j); > System.out.format(" exceptions.add(new Exception());\n"); > System.out.format("}\n\n"); > } > > // Make sure that all stacks are different to avoid possible compiler optimizations > for (int i = depth; i --> 0; ) { > for (int j = 0; j < 2; j++) { > System.out.format("static void fun%02d_%d(int value) {\n", i, j); > System.out.format(" if ((value & (1 << %d)) == 0)\n", i); > System.out.format(" fun%02d_0(value);\n", i + 1); > System.out.format(" else\n"); > System.out.format(" fun%02d_1(value);\n", i + 1); > System.out.format("}\n\n"); > } > } > } > > public static void main(String[] args) { > final int STACKS_PER_TEST = 128*1024; > final int WARMUP_ITERS = 10; > final int MEASURED_TESTS = 10; > > double elapsedTotal = 0; > int testsTotal = 0; > > for (int iTest = 0; iTest < WARMUP_ITERS + MEASURED_TESTS; iTest++) { > exceptions.clear(); > System.gc(); > > final long time0 = System.nanoTime(); > final long memory0 = Runtime.getRuntime().totalMemory(); > for (int i = 0; i < STACKS_PER_TEST; i++) { > fun00_0(i); > } > final long time1 = System.nanoTime(); > final long memory1 = Runtime.getRuntime().totalMemory(); > > final double elapsedCurrent = (time1 - time0) / 1000000000.0; > final double perSecCurrent = STACKS_PER_TEST / elapsedCurrent; > if (iTest < WARMUP_ITERS) { > System.out.format("#%03d: %.2f/sec%n", iTest, perSecCurrent); > } else { > elapsedTotal += elapsedCurrent; > testsTotal++; > > final double elapsedAvg = elapsedTotal / testsTotal; > final double perSecAvg = STACKS_PER_TEST / elapsedAvg; > > System.out.format( > "#%03d: %.2f/sec (avg=%.2f/sec); %dbytes/exception%n", > iTest, > perSecCurrent, > perSecAvg, > (memory1 - memory0) / STACKS_PER_TEST); > } > } > > // Make sure that stacks are not optimized away > final int randomIndex = (int)(System.nanoTime() % exceptions.size()); > exceptions.get(randomIndex).printStackTrace(); > } >}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 570094
: 285202