Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1212)

Unified Diff: dart/compiler/javatests/com/google/dart/compiler/type/TypeAnalyzerBench.java

Issue 20722006: Removed compiler/ directory from repository (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: dart/compiler/javatests/com/google/dart/compiler/type/TypeAnalyzerBench.java
diff --git a/dart/compiler/javatests/com/google/dart/compiler/type/TypeAnalyzerBench.java b/dart/compiler/javatests/com/google/dart/compiler/type/TypeAnalyzerBench.java
deleted file mode 100644
index c7aed3dc54c9619b6115e39d28dfd8edbb2b4a01..0000000000000000000000000000000000000000
--- a/dart/compiler/javatests/com/google/dart/compiler/type/TypeAnalyzerBench.java
+++ /dev/null
@@ -1,169 +0,0 @@
-// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-package com.google.dart.compiler.type;
-
-import com.google.dart.compiler.CommandLineOptions.CompilerOptions;
-import com.google.dart.compiler.CompilerConfiguration;
-import com.google.dart.compiler.DartArtifactProvider;
-import com.google.dart.compiler.DartCompilationPhase;
-import com.google.dart.compiler.DartCompiler;
-import com.google.dart.compiler.DartCompilerContext;
-import com.google.dart.compiler.DartCompilerListener;
-import com.google.dart.compiler.DefaultCompilerConfiguration;
-import com.google.dart.compiler.DefaultDartArtifactProvider;
-import com.google.dart.compiler.DefaultLibrarySource;
-import com.google.dart.compiler.LibrarySource;
-import com.google.dart.compiler.Source;
-import com.google.dart.compiler.UrlLibrarySource;
-import com.google.dart.compiler.ast.DartUnit;
-import com.google.dart.compiler.resolver.CoreTypeProvider;
-
-import org.kohsuke.args4j.CmdLineException;
-import org.kohsuke.args4j.CmdLineParser;
-
-import java.io.CharArrayReader;
-import java.io.CharArrayWriter;
-import java.io.File;
-import java.io.IOException;
-import java.io.Reader;
-import java.io.Writer;
-import java.net.URI;
-import java.util.ArrayDeque;
-import java.util.ArrayList;
-import java.util.Deque;
-import java.util.List;
-import java.util.concurrent.ConcurrentHashMap;
-
-/**
- * Benchmark for the type analyzer. The benchmark will loop forever to ease profiling.
- */
-public class TypeAnalyzerBench {
- private static final double SCORE_SCALE = 1000d;
- private static final long ROUND_DURATION_MS = 5000L;
-
- public static void main(String... arguments) throws CmdLineException, IOException {
- CompilerOptions compilerOptions = new CompilerOptions();
- CmdLineParser cmdLineParser = new CmdLineParser(compilerOptions);
- cmdLineParser.parseArgument(arguments);
- final CollectingPhase phase = new CollectingPhase();
- CompilerConfiguration config = new DefaultCompilerConfiguration(compilerOptions) {
- @Override
- public List<DartCompilationPhase> getPhases() {
- ArrayList<DartCompilationPhase> phases = new ArrayList<DartCompilationPhase>();
- phases.addAll(super.getPhases());
- phases.add(phase);
- return phases;
- }
- };
- DartArtifactProvider provider = getArtifactProvider(config.getOutputDirectory());
- DartCompilerListener listener = getListener();
- List<String> sourceFiles = compilerOptions.getSourceFiles();
- if (sourceFiles.size() != 1) {
- throw new IllegalArgumentException("incorrect number of source files " + sourceFiles);
- }
- File sourceFile = new File(sourceFiles.get(0));
- LibrarySource lib;
- if (sourceFile.getName().endsWith(".dart")) {
- lib = new DefaultLibrarySource(sourceFile, null);
- } else {
- lib = new UrlLibrarySource(sourceFile);
- }
- DartCompiler.compileLib(lib, config, provider, listener);
- Deque<Double> scores = new ArrayDeque<Double>(10);
- for (int i = 0; i < 10; i++) {
- scores.addLast(0d);
- }
- long start = System.currentTimeMillis();
- int i = 0;
- while (true) {
- i++;
- TypeAnalyzer typeAnalyzer = new TypeAnalyzer();
- for (DartUnit unit : phase.units) {
- typeAnalyzer.exec(unit, phase.context, phase.typeProvider);
- }
- long elapsed = System.currentTimeMillis() - start;
- if (elapsed > ROUND_DURATION_MS) {
- double score = i * SCORE_SCALE / elapsed;
- scores.removeFirst();
- scores.addLast(score);
- printScores(scores);
- start = System.currentTimeMillis();
- i = 0;
- }
- }
- }
-
- private static void printScores(Deque<Double> scores) {
- double xn = 1d;
- for (double x : scores) {
- xn *= x;
- }
- double geomean = Math.pow(xn, 1d / scores.size());
- xn = 0d;
- for (double x : scores) {
- double deviation = x - geomean;
- xn += deviation * deviation;
- }
- double stddev = Math.sqrt(xn / (scores.size() - 1));
- System.out.println(String.format("geomean %.03f std. dev. %.03f", geomean, stddev));
- }
-
- private static DartArtifactProvider getArtifactProvider(File outputDirectory) {
- final DartArtifactProvider provider = new DefaultDartArtifactProvider(outputDirectory);
- return new DartArtifactProvider() {
- ConcurrentHashMap<URI, CharArrayWriter> artifacts =
- new ConcurrentHashMap<URI, CharArrayWriter>();
-
- @Override
- public boolean isOutOfDate(Source source, Source base, String extension) {
- return true;
- }
-
- @Override
- public Writer getArtifactWriter(Source source, String part, String extension) {
- URI uri = getArtifactUri(source, part, extension);
- CharArrayWriter writer = new CharArrayWriter();
- CharArrayWriter existing = artifacts.putIfAbsent(uri, writer);
- return (existing == null) ? writer : existing;
- }
-
-
- @Override
- public URI getArtifactUri(Source source, String part, String extension) {
- return provider.getArtifactUri(source, part, extension);
- }
-
- @Override
- public Reader getArtifactReader(Source source, String part, String extension)
- throws IOException {
- URI uri = getArtifactUri(source, part, extension);
- CharArrayWriter writer = artifacts.get(uri);
- if (writer != null) {
- return new CharArrayReader(writer.toCharArray());
- }
- return provider.getArtifactReader(source, part, extension);
- }
- };
- }
-
- private static DartCompilerListener getListener() {
- return DartCompilerListener.EMPTY;
- }
-
- static class CollectingPhase implements DartCompilationPhase {
- List<DartUnit> units = new ArrayList<DartUnit>();
- DartCompilerContext context;
- CoreTypeProvider typeProvider;
-
- @Override
- public synchronized DartUnit exec(DartUnit unit, DartCompilerContext context,
- CoreTypeProvider typeProvider) {
- units.add(unit);
- this.context = context;
- this.typeProvider = typeProvider;
- return unit;
- }
- }
-}

Powered by Google App Engine
This is Rietveld 408576698