Remove --shark* support from sunspider/run-sunspider now that Shark is dead
authoreric@webkit.org <eric@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 16 Jan 2013 19:25:40 +0000 (19:25 +0000)
committereric@webkit.org <eric@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 16 Jan 2013 19:25:40 +0000 (19:25 +0000)
https://bugs.webkit.org/show_bug.cgi?id=99512

Reviewed by Darin Adler.

PerformanceTests/SunSpider:

I tried to use --instruments, but that also seems broken (in the same way before/after this patch).

* sunspider:
(runTestsOnce):

Tools:

* Scripts/run-sunspider:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@139902 268f45cc-cd09-0410-ab3c-d52691b4dbfc

PerformanceTests/SunSpider/ChangeLog
PerformanceTests/SunSpider/sunspider
Tools/ChangeLog
Tools/Scripts/run-sunspider

index 5350e83..38c058e 100644 (file)
@@ -1,3 +1,15 @@
+2013-01-16  Eric Seidel  <eric@webkit.org>
+
+        Remove --shark* support from sunspider/run-sunspider now that Shark is dead
+        https://bugs.webkit.org/show_bug.cgi?id=99512
+
+        Reviewed by Darin Adler.
+
+        I tried to use --instruments, but that also seems broken (in the same way before/after this patch).
+
+        * sunspider:
+        (runTestsOnce):
+
 2012-08-02  Filip Pizlo  <fpizlo@apple.com>
 
         Unreviewed, revert debugging stuff I landed in http://trac.webkit.org/changeset/124557
index 0409cff..1f9f7cd 100755 (executable)
@@ -33,9 +33,6 @@ use POSIX qw(strftime);
 use Time::HiRes qw(gettimeofday tv_interval);
 
 my $showHelp = 0;
-my $runShark = 0;
-my $runShark20 = 0;
-my $runSharkCache = 0;
 my $runInstruments = 0;
 my $ubench = 0;
 my $v8suite = 0;
@@ -56,9 +53,6 @@ Usage: $programName --shell=[path] [options]
   --args            Arguments to pass to JavaScript shell
   --runs            Number of times to run tests (default: $testRuns)
   --tests           Only run tests matching provided pattern
-  --shark           Sample execution time with the Mac OS X "Shark" performance testing tool (implies --runs=1)
-  --shark20         Like --shark, but with a 20 microsecond sampling interval
-  --shark-cache     Like --shark, but performs a L2 cache-miss sample instead of time sample
   --instruments     Sample execution time with the Mac OS X "Instruments" tool (Time Profile) (implies --runs=1)
   --suite           Select a specific benchmark suite. The default is sunspider-1.0
   --ubench          Use microbenchmark suite instead of regular tests. Same as --suite=ubench
@@ -70,9 +64,6 @@ GetOptions('runs=i' => \$testRuns,
            'set-baseline' => \$setBaseline,
            'shell=s' => \$jsShellPath,
            'args=s' => \$jsShellArgs,
-           'shark' => \$runShark,
-           'shark20' => \$runShark20,
-           'shark-cache' => \$runSharkCache,
            'instruments' => \$runInstruments,
            'suite=s' => \$suite,
            'ubench' => \$ubench,
@@ -92,29 +83,7 @@ my $resultDirectory = "${suite}-results";
 my $suitePath = $suite;
 $suitePath = "tests/" . $suitePath unless ($suite =~ /\//);
 
-$runShark = 1 if $runSharkCache;
-$runShark = 20 if $runShark20;
-$testRuns = 1 if $runShark || $runInstruments;
-if ($runShark && ! -x "/usr/bin/shark") {
-    die "Please install CHUD tools from http://developer.apple.com/tools/download/\n";
-}
-
-my $sharkCacheProfileIndex = 0;
-if ($runSharkCache) {
-    my $sharkProfileList = `shark -l 2>&1`;
-    for my $profile (split(/\n/, $sharkProfileList)) {
-        $profile =~ /(\d+) - (.+)/;
-        next  unless (defined $1);
-        my $profileIndex = $1;
-        my $profileName = $2;
-        if ($profileName =~ /L2 Cache/) {
-            $sharkCacheProfileIndex = $profileIndex;
-            print "Using Shark L2 Cache Miss Profile: " . $profile . "\n";
-            last;
-        }
-    }
-    die "Failed to find L2 Cache Miss Profile for --shark-cache\n"  unless ($sharkCacheProfileIndex);
-}
+$testRuns = 1 if $runInstruments;
 
 if (!$jsShellPath || $showHelp) {
    print STDERR $usage;
@@ -165,16 +134,12 @@ sub writePrefixFile()
     dumpToFile($prefix, $prefixFile);
 }
 
-sub runTestsOnce($$)
+sub runTestsOnce($)
 {
-    my ($useShark, $useInstruments) = @_;
+    my ($useInstruments) = @_;
     my $shellArgs = $jsShellArgs . " -f $prefixFile -f resources/sunspider-standalone-driver.js 2> " . File::Spec->devnull();
     my $output;
-    if ($useShark) {
-        my $intervalArg = $useShark == 20 ? "-I 20u" : "";
-        my $cacheArg = $runSharkCache ? "-c $sharkCacheProfileIndex" : "";
-        $output = `shark $intervalArg $cacheArg -i -1-q "$jsShellPath" $shellArgs`;
-    } elsif ($useInstruments) {
+    if ($useInstruments) {
         $output = `instruments -t "resources/TimeProfile20us.tracetemplate" "$jsShellPath" $shellArgs`;
     } else {
         $output = `"$jsShellPath" $shellArgs | grep -v break`;
@@ -210,10 +175,10 @@ if ($testsPattern) {
     print STDERR "Found " . scalar(@tests) . " tests\n";
 }
 die "No tests to run"  unless scalar(@tests);
-print STDERR "Running SunSpider once for warmup, then " . ($runShark ? "under Shark" : ($runInstruments ? "under Instruments" : "$testRuns time" . ($testRuns == 1 ? "" : "s"))) . "\n";
+print STDERR "Running SunSpider once for warmup, then " . ($runInstruments ? "under Instruments" : "$testRuns time" . ($testRuns == 1 ? "" : "s")) . "\n";
 writePrefixFile();
 
-runTestsOnce(0, 0);
+runTestsOnce(0);
 print "Discarded first run.\n";
 
 my $result;
@@ -222,7 +187,7 @@ my @results = ();
 my $total = 0;
 print "[";
 while ($count++ < $testRuns) {
-    $result = runTestsOnce($runShark, $runInstruments);
+    $result = runTestsOnce($runInstruments);
     $result =~ s/\r\n/\n/g;
     chomp $result;
     push @results, $result;
@@ -239,15 +204,6 @@ system("$jsShellPath", "-f", $prefixFile, "-f", $resultsFile, "-f", "resources/s
 
 print("\nResults are located at $resultsFile\n");
 
-if ($runShark) {
-    my $newestMShark = newestFile(".", qr/\.mshark$/);
-    if ($newestMShark) {
-        my $profileFile = "$resultDirectory/sunspider-profile-$timeString.mshark";
-        rename $newestMShark, $profileFile or die;
-        exec "/usr/bin/open", $profileFile;
-    }
-}
-
 if ($runInstruments) {
     my $newestTrace = newestFile(".", qr/\.trace$/);
     if ($newestTrace) {
index 0c31d99..6d557ea 100644 (file)
@@ -1,5 +1,14 @@
 2013-01-16  Eric Seidel  <eric@webkit.org>
 
+        Remove --shark* support from sunspider/run-sunspider now that Shark is dead
+        https://bugs.webkit.org/show_bug.cgi?id=99512
+
+        Reviewed by Darin Adler.
+
+        * Scripts/run-sunspider:
+
+2013-01-16  Eric Seidel  <eric@webkit.org>
+
         Remove webkitpy Visual Studio files, as core developers are not interested in maintaining them
         https://bugs.webkit.org/show_bug.cgi?id=106036
 
index 1b60a75..4aec301 100755 (executable)
@@ -38,9 +38,6 @@ my $configuration = configuration();
 
 my $root;
 my $testRuns = 10; # This number may be different from what sunspider defaults to (that's OK)
-my $runShark = 0;
-my $runShark20 = 0;
-my $runSharkCache = 0;
 my $runInstruments = 0;
 my $suite = "";
 my $ubench = 0;
@@ -59,9 +56,6 @@ Usage: $programName [options] [options to pass to build system]
   --root            Path to root tools build
   --runs            Number of times to run tests (default: $testRuns)
   --tests           Only run tests matching provided pattern
-  --shark           Sample with the Mac OS X "Shark" performance testing tool (implies --runs=1)
-  --shark20         Like --shark, but with a 20 microsecond sampling interval
-  --shark-cache     Like --shark, but performs a L2 cache-miss sample instead of time sample
   --instruments     Sample with the Mac OS X "Instruments" tool (Time Profile) (implies --runs=1)
   --suite           Select a specific benchmark suite. The default is sunspider-0.9.1
   --ubench          Use microbenchmark suite instead of regular tests. Same as --suite=ubench
@@ -73,9 +67,6 @@ EOF
 GetOptions('root=s' => sub { my ($x, $value) = @_; $root = $value; setConfigurationProductDir(Cwd::abs_path($root)); },
            'runs=i' => \$testRuns,
            'set-baseline' => \$setBaseline,
-           'shark' => \$runShark,
-           'shark20' => \$runShark20,
-           'shark-cache' => \$runSharkCache,
            'instruments' => \$runInstruments,
            'suite=s' => \$suite,
            'ubench' => \$ubench,
@@ -125,9 +116,6 @@ setupEnvironmentForExecution($productDir);
 my @args = ("--shell", jscPath($productDir), "--runs", $testRuns);
 # This code could be removed if we chose to pass extra args to sunspider instead of Xcode
 push @args, "--set-baseline" if $setBaseline;
-push @args, "--shark" if $runShark;
-push @args, "--shark20" if $runShark20;
-push @args, "--shark-cache" if $runSharkCache;
 push @args, "--instruments" if $runInstruments;
 push @args, "--suite=${suite}" if $suite;
 push @args, "--ubench" if $ubench;