Added some website recordings to MallocBench -- taken from Membuster
authorggaren@apple.com <ggaren@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 14 Apr 2014 00:02:08 +0000 (00:02 +0000)
committerggaren@apple.com <ggaren@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 14 Apr 2014 00:02:08 +0000 (00:02 +0000)
https://bugs.webkit.org/show_bug.cgi?id=131601

Reviewed by Ryosuke Niwa.

Added flickr, reddit, and theverge -- each recorded from Membuster's
cache, with and without sending Safari a low memory warning.

* MallocBench/MallocBench.xcodeproj/project.pbxproj:
* MallocBench/MallocBench/Benchmark.cpp:
* MallocBench/MallocBench/flickr.cpp: Added.
(benchmark_flickr):
(benchmark_flickr_memory_warning):
* MallocBench/MallocBench/flickr.h: Added.
* MallocBench/MallocBench/flickr.ops: Added.
* MallocBench/MallocBench/flickr_memory_warning.ops: Added.
* MallocBench/MallocBench/reddit.cpp: Added.
(benchmark_reddit):
(benchmark_reddit_memory_warning):
* MallocBench/MallocBench/reddit.h: Added.
* MallocBench/MallocBench/reddit.ops: Added.
* MallocBench/MallocBench/reddit_memory_warning.ops: Added.
* MallocBench/MallocBench/theverge.cpp: Added.
(benchmark_theverge):
(benchmark_theverge_memory_warning):
* MallocBench/MallocBench/theverge.h: Added.
* MallocBench/MallocBench/theverge.ops: Added.
* MallocBench/MallocBench/theverge_memory_warning.ops: Added.

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

15 files changed:
PerformanceTests/ChangeLog
PerformanceTests/MallocBench/MallocBench.xcodeproj/project.pbxproj
PerformanceTests/MallocBench/MallocBench/Benchmark.cpp
PerformanceTests/MallocBench/MallocBench/flickr.cpp [new file with mode: 0644]
PerformanceTests/MallocBench/MallocBench/flickr.h [new file with mode: 0644]
PerformanceTests/MallocBench/MallocBench/flickr.ops [new file with mode: 0644]
PerformanceTests/MallocBench/MallocBench/flickr_memory_warning.ops [new file with mode: 0644]
PerformanceTests/MallocBench/MallocBench/reddit.cpp [new file with mode: 0644]
PerformanceTests/MallocBench/MallocBench/reddit.h [new file with mode: 0644]
PerformanceTests/MallocBench/MallocBench/reddit.ops [new file with mode: 0644]
PerformanceTests/MallocBench/MallocBench/reddit_memory_warning.ops [new file with mode: 0644]
PerformanceTests/MallocBench/MallocBench/theverge.cpp [new file with mode: 0644]
PerformanceTests/MallocBench/MallocBench/theverge.h [new file with mode: 0644]
PerformanceTests/MallocBench/MallocBench/theverge.ops [new file with mode: 0644]
PerformanceTests/MallocBench/MallocBench/theverge_memory_warning.ops [new file with mode: 0644]

index 77f8194..ce64fd5 100644 (file)
@@ -1,5 +1,36 @@
 2014-04-13  Geoffrey Garen  <ggaren@apple.com>
 
+        Added some website recordings to MallocBench -- taken from Membuster
+        https://bugs.webkit.org/show_bug.cgi?id=131601
+
+        Reviewed by Ryosuke Niwa.
+
+        Added flickr, reddit, and theverge -- each recorded from Membuster's
+        cache, with and without sending Safari a low memory warning.
+
+        * MallocBench/MallocBench.xcodeproj/project.pbxproj:
+        * MallocBench/MallocBench/Benchmark.cpp:
+        * MallocBench/MallocBench/flickr.cpp: Added.
+        (benchmark_flickr):
+        (benchmark_flickr_memory_warning):
+        * MallocBench/MallocBench/flickr.h: Added.
+        * MallocBench/MallocBench/flickr.ops: Added.
+        * MallocBench/MallocBench/flickr_memory_warning.ops: Added.
+        * MallocBench/MallocBench/reddit.cpp: Added.
+        (benchmark_reddit):
+        (benchmark_reddit_memory_warning):
+        * MallocBench/MallocBench/reddit.h: Added.
+        * MallocBench/MallocBench/reddit.ops: Added.
+        * MallocBench/MallocBench/reddit_memory_warning.ops: Added.
+        * MallocBench/MallocBench/theverge.cpp: Added.
+        (benchmark_theverge):
+        (benchmark_theverge_memory_warning):
+        * MallocBench/MallocBench/theverge.h: Added.
+        * MallocBench/MallocBench/theverge.ops: Added.
+        * MallocBench/MallocBench/theverge_memory_warning.ops: Added.
+
+2014-04-13  Geoffrey Garen  <ggaren@apple.com>
+
         MallocBench record/replay should support realloc
         https://bugs.webkit.org/show_bug.cgi?id=131598
 
index 892ebcf..c394842 100644 (file)
                14452CB0177D24460097E057 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 14452CAF177D24460097E057 /* main.cpp */; };
                14452CEF177D47110097E057 /* churn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 14452CED177D47110097E057 /* churn.cpp */; };
                1447AE8418FB4B2400B3D7FF /* libSystem.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 1447AE8318FB4B2400B3D7FF /* libSystem.dylib */; };
+               1447AE9018FB584200B3D7FF /* flickr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1447AE8718FB584200B3D7FF /* flickr.cpp */; };
+               1447AE9118FB584200B3D7FF /* reddit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1447AE8A18FB584200B3D7FF /* reddit.cpp */; };
+               1447AE9218FB584200B3D7FF /* theverge.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1447AE8D18FB584200B3D7FF /* theverge.cpp */; };
+               1447AE9318FB588600B3D7FF /* flickr.ops in Copy Files */ = {isa = PBXBuildFile; fileRef = 1447AE8918FB584200B3D7FF /* flickr.ops */; };
+               1447AE9418FB589400B3D7FF /* reddit.ops in Copy Files */ = {isa = PBXBuildFile; fileRef = 1447AE8C18FB584200B3D7FF /* reddit.ops */; };
+               1447AE9518FB58A300B3D7FF /* theverge.ops in Copy Files */ = {isa = PBXBuildFile; fileRef = 1447AE8F18FB584200B3D7FF /* theverge.ops */; };
+               1447AE9918FB59E000B3D7FF /* flickr_memory_warning.ops in Copy Files */ = {isa = PBXBuildFile; fileRef = 1447AE9618FB59D900B3D7FF /* flickr_memory_warning.ops */; };
+               1447AE9A18FB59E300B3D7FF /* reddit_memory_warning.ops in Copy Files */ = {isa = PBXBuildFile; fileRef = 1447AE9718FB59D900B3D7FF /* reddit_memory_warning.ops */; };
+               1447AE9B18FB59E600B3D7FF /* theverge_memory_warning.ops in Copy Files */ = {isa = PBXBuildFile; fileRef = 1447AE9818FB59D900B3D7FF /* theverge_memory_warning.ops */; };
                1451FAED18B14B7100DB6D47 /* medium.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1451FAEB18B14B7100DB6D47 /* medium.cpp */; };
                14976EC8177E3649006B819A /* list.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 14976EC6177E3649006B819A /* list.cpp */; };
                14976ECC177E3C87006B819A /* CommandLine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 14976ECB177E3C87006B819A /* CommandLine.cpp */; };
                14976ECE177E3D67006B819A /* Benchmark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 14976ECD177E3D67006B819A /* Benchmark.cpp */; };
                14976ED1177E4AF7006B819A /* tree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 14976ECF177E4AF7006B819A /* tree.cpp */; };
                14C5008D184016CF007A531D /* facebook.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 14C5008B184016CF007A531D /* facebook.cpp */; };
-               14C5009018401841007A531D /* facebook.ops in CopyFiles */ = {isa = PBXBuildFile; fileRef = 14C5008E18401726007A531D /* facebook.ops */; };
+               14C5009018401841007A531D /* facebook.ops in Copy Files */ = {isa = PBXBuildFile; fileRef = 14C5008E18401726007A531D /* facebook.ops */; };
                14C5009318403DA0007A531D /* Interpreter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 14C5009118403DA0007A531D /* Interpreter.cpp */; };
                14CC393C18EA812B004AFE34 /* libmbmalloc.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 14CC393818EA811F004AFE34 /* libmbmalloc.dylib */; settings = {ATTRIBUTES = (Required, ); }; };
                14CC393F18EA8184004AFE34 /* mbmalloc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 14CC391C18EA6759004AFE34 /* mbmalloc.cpp */; };
 /* End PBXContainerItemProxy section */
 
 /* Begin PBXCopyFilesBuildPhase section */
-               14452CA7177D24460097E057 /* CopyFiles */ = {
+               14452CA7177D24460097E057 /* Copy Files */ = {
                        isa = PBXCopyFilesBuildPhase;
                        buildActionMask = 12;
                        dstPath = "";
                        dstSubfolderSpec = 7;
                        files = (
-                               14C5009018401841007A531D /* facebook.ops in CopyFiles */,
+                               1447AE9418FB589400B3D7FF /* reddit.ops in Copy Files */,
+                               1447AE9918FB59E000B3D7FF /* flickr_memory_warning.ops in Copy Files */,
+                               1447AE9B18FB59E600B3D7FF /* theverge_memory_warning.ops in Copy Files */,
+                               1447AE9A18FB59E300B3D7FF /* reddit_memory_warning.ops in Copy Files */,
+                               1447AE9518FB58A300B3D7FF /* theverge.ops in Copy Files */,
+                               1447AE9318FB588600B3D7FF /* flickr.ops in Copy Files */,
+                               14C5009018401841007A531D /* facebook.ops in Copy Files */,
                        );
+                       name = "Copy Files";
                        runOnlyForDeploymentPostprocessing = 0;
                };
 /* End PBXCopyFilesBuildPhase section */
                14452CED177D47110097E057 /* churn.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = churn.cpp; path = MallocBench/churn.cpp; sourceTree = "<group>"; };
                14452CEE177D47110097E057 /* churn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = churn.h; path = MallocBench/churn.h; sourceTree = "<group>"; };
                1447AE8318FB4B2400B3D7FF /* libSystem.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libSystem.dylib; path = /usr/lib/libSystem.dylib; sourceTree = "<absolute>"; };
+               1447AE8718FB584200B3D7FF /* flickr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = flickr.cpp; path = MallocBench/flickr.cpp; sourceTree = "<group>"; };
+               1447AE8818FB584200B3D7FF /* flickr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = flickr.h; path = MallocBench/flickr.h; sourceTree = "<group>"; };
+               1447AE8918FB584200B3D7FF /* flickr.ops */ = {isa = PBXFileReference; lastKnownFileType = file; name = flickr.ops; path = MallocBench/flickr.ops; sourceTree = "<group>"; };
+               1447AE8A18FB584200B3D7FF /* reddit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = reddit.cpp; path = MallocBench/reddit.cpp; sourceTree = "<group>"; };
+               1447AE8B18FB584200B3D7FF /* reddit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = reddit.h; path = MallocBench/reddit.h; sourceTree = "<group>"; };
+               1447AE8C18FB584200B3D7FF /* reddit.ops */ = {isa = PBXFileReference; lastKnownFileType = file; name = reddit.ops; path = MallocBench/reddit.ops; sourceTree = "<group>"; };
+               1447AE8D18FB584200B3D7FF /* theverge.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = theverge.cpp; path = MallocBench/theverge.cpp; sourceTree = "<group>"; };
+               1447AE8E18FB584200B3D7FF /* theverge.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = theverge.h; path = MallocBench/theverge.h; sourceTree = "<group>"; };
+               1447AE8F18FB584200B3D7FF /* theverge.ops */ = {isa = PBXFileReference; lastKnownFileType = file; name = theverge.ops; path = MallocBench/theverge.ops; sourceTree = "<group>"; };
+               1447AE9618FB59D900B3D7FF /* flickr_memory_warning.ops */ = {isa = PBXFileReference; lastKnownFileType = file; name = flickr_memory_warning.ops; path = MallocBench/flickr_memory_warning.ops; sourceTree = "<group>"; };
+               1447AE9718FB59D900B3D7FF /* reddit_memory_warning.ops */ = {isa = PBXFileReference; lastKnownFileType = file; name = reddit_memory_warning.ops; path = MallocBench/reddit_memory_warning.ops; sourceTree = "<group>"; };
+               1447AE9818FB59D900B3D7FF /* theverge_memory_warning.ops */ = {isa = PBXFileReference; lastKnownFileType = file; name = theverge_memory_warning.ops; path = MallocBench/theverge_memory_warning.ops; sourceTree = "<group>"; };
                1451FAEB18B14B7100DB6D47 /* medium.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = medium.cpp; path = MallocBench/medium.cpp; sourceTree = "<group>"; };
                1451FAEC18B14B7100DB6D47 /* medium.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = medium.h; path = MallocBench/medium.h; sourceTree = "<group>"; };
                14976EC6177E3649006B819A /* list.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = list.cpp; path = MallocBench/list.cpp; sourceTree = "<group>"; };
                                14C5008B184016CF007A531D /* facebook.cpp */,
                                14C5008C184016CF007A531D /* facebook.h */,
                                14C5008E18401726007A531D /* facebook.ops */,
+                               1447AE9618FB59D900B3D7FF /* flickr_memory_warning.ops */,
+                               1447AE8718FB584200B3D7FF /* flickr.cpp */,
+                               1447AE8818FB584200B3D7FF /* flickr.h */,
+                               1447AE8918FB584200B3D7FF /* flickr.ops */,
                                1444AE91177E79BB00F8030A /* fragment.cpp */,
                                1444AE92177E79BB00F8030A /* fragment.h */,
                                14976EC6177E3649006B819A /* list.cpp */,
                                1444AE95177E8DF200F8030A /* message.h */,
                                14105E8018E13EEC003A106E /* realloc.cpp */,
                                14105E8118E13EEC003A106E /* realloc.h */,
+                               1447AE9718FB59D900B3D7FF /* reddit_memory_warning.ops */,
+                               1447AE8A18FB584200B3D7FF /* reddit.cpp */,
+                               1447AE8B18FB584200B3D7FF /* reddit.h */,
+                               1447AE8C18FB584200B3D7FF /* reddit.ops */,
+                               1447AE9818FB59D900B3D7FF /* theverge_memory_warning.ops */,
+                               1447AE8D18FB584200B3D7FF /* theverge.cpp */,
+                               1447AE8E18FB584200B3D7FF /* theverge.h */,
+                               1447AE8F18FB584200B3D7FF /* theverge.ops */,
                                14976ECF177E4AF7006B819A /* tree.cpp */,
                                14976ED0177E4AF7006B819A /* tree.h */,
                        );
                        buildPhases = (
                                14452CA5177D24460097E057 /* Sources */,
                                14452CA6177D24460097E057 /* Frameworks */,
-                               14452CA7177D24460097E057 /* CopyFiles */,
+                               14452CA7177D24460097E057 /* Copy Files */,
                        );
                        buildRules = (
                        );
                                14452CEF177D47110097E057 /* churn.cpp in Sources */,
                                14452CB0177D24460097E057 /* main.cpp in Sources */,
                                14C5008D184016CF007A531D /* facebook.cpp in Sources */,
+                               1447AE9018FB584200B3D7FF /* flickr.cpp in Sources */,
                                14976EC8177E3649006B819A /* list.cpp in Sources */,
                                14976ECC177E3C87006B819A /* CommandLine.cpp in Sources */,
+                               1447AE9218FB584200B3D7FF /* theverge.cpp in Sources */,
                                1451FAED18B14B7100DB6D47 /* medium.cpp in Sources */,
                                14C5009318403DA0007A531D /* Interpreter.cpp in Sources */,
+                               1447AE9118FB584200B3D7FF /* reddit.cpp in Sources */,
                                14E11932177ECC8B003A8D15 /* CPUCount.cpp in Sources */,
                                1444AE93177E79BB00F8030A /* fragment.cpp in Sources */,
                                14105E8218E13EEC003A106E /* realloc.cpp in Sources */,
index 0767a55..b02f113 100644 (file)
 #include "big.h"
 #include "churn.h"
 #include "facebook.h"
+#include "flickr.h"
 #include "fragment.h"
 #include "list.h"
 #include "medium.h"
 #include "message.h"
+#include "reddit.h"
+#include "theverge.h"
 #include "tree.h"
 #include <dispatch/dispatch.h>
 #include <iostream>
@@ -68,6 +71,12 @@ static const BenchmarkPair benchmarkPairs[] = {
     { "big", benchmark_big },
     { "facebook", benchmark_facebook },
     { "balloon", benchmark_balloon },
+    { "flickr", benchmark_flickr },
+    { "reddit", benchmark_reddit },
+    { "theverge", benchmark_theverge },
+    { "flickr_memory_warning", benchmark_flickr_memory_warning },
+    { "reddit_memory_warning", benchmark_reddit_memory_warning },
+    { "theverge_memory_warning", benchmark_theverge_memory_warning },
 };
 
 static const size_t benchmarksPairsCount = sizeof(benchmarkPairs) / sizeof(BenchmarkPair);
diff --git a/PerformanceTests/MallocBench/MallocBench/flickr.cpp b/PerformanceTests/MallocBench/MallocBench/flickr.cpp
new file mode 100644 (file)
index 0000000..e337fdb
--- /dev/null
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2014 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#include "CPUCount.h"
+#include "Interpreter.h"
+#include "flickr.h"
+#include <assert.h>
+#include <cstddef>
+#include <cstddef>
+#include <cstdlib>
+#include <errno.h>
+#include <fcntl.h>
+#include <string>
+#include <sys/mman.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <sys/uio.h>
+#include <unistd.h>
+#include <vector>
+
+#include "mbmalloc.h"
+
+void benchmark_flickr(bool isParallel)
+{
+    size_t times = 1;
+
+    Interpreter interpreter("flickr.ops");
+    for (size_t i = 0; i < times; ++i)
+        interpreter.run();
+}
+
+void benchmark_flickr_memory_warning(bool isParallel)
+{
+    size_t times = 1;
+
+    Interpreter interpreter("flickr_memory_warning.ops");
+    for (size_t i = 0; i < times; ++i)
+        interpreter.run();
+}
diff --git a/PerformanceTests/MallocBench/MallocBench/flickr.h b/PerformanceTests/MallocBench/MallocBench/flickr.h
new file mode 100644 (file)
index 0000000..a53fefc
--- /dev/null
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2014 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#ifndef flickr_h
+#define flickr_h
+
+void benchmark_flickr(bool isParallel);
+void benchmark_flickr_memory_warning(bool isParallel);
+
+#endif // flickr_h
diff --git a/PerformanceTests/MallocBench/MallocBench/flickr.ops b/PerformanceTests/MallocBench/MallocBench/flickr.ops
new file mode 100644 (file)
index 0000000..9ea1499
Binary files /dev/null and b/PerformanceTests/MallocBench/MallocBench/flickr.ops differ
diff --git a/PerformanceTests/MallocBench/MallocBench/flickr_memory_warning.ops b/PerformanceTests/MallocBench/MallocBench/flickr_memory_warning.ops
new file mode 100644 (file)
index 0000000..58438c9
Binary files /dev/null and b/PerformanceTests/MallocBench/MallocBench/flickr_memory_warning.ops differ
diff --git a/PerformanceTests/MallocBench/MallocBench/reddit.cpp b/PerformanceTests/MallocBench/MallocBench/reddit.cpp
new file mode 100644 (file)
index 0000000..df993b5
--- /dev/null
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2014 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#include "CPUCount.h"
+#include "Interpreter.h"
+#include "reddit.h"
+#include <assert.h>
+#include <cstddef>
+#include <cstddef>
+#include <cstdlib>
+#include <errno.h>
+#include <fcntl.h>
+#include <string>
+#include <sys/mman.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <sys/uio.h>
+#include <unistd.h>
+#include <vector>
+
+#include "mbmalloc.h"
+
+void benchmark_reddit(bool isParallel)
+{
+    size_t times = 1;
+
+    Interpreter interpreter("reddit.ops");
+    for (size_t i = 0; i < times; ++i)
+        interpreter.run();
+}
+
+void benchmark_reddit_memory_warning(bool isParallel)
+{
+    size_t times = 1;
+
+    Interpreter interpreter("reddit_memory_warning.ops");
+    for (size_t i = 0; i < times; ++i)
+        interpreter.run();
+}
diff --git a/PerformanceTests/MallocBench/MallocBench/reddit.h b/PerformanceTests/MallocBench/MallocBench/reddit.h
new file mode 100644 (file)
index 0000000..1ddf048
--- /dev/null
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2014 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#ifndef reddit_h
+#define reddit_h
+
+void benchmark_reddit(bool isParallel);
+void benchmark_reddit_memory_warning(bool isParallel);
+
+#endif // reddit_h
diff --git a/PerformanceTests/MallocBench/MallocBench/reddit.ops b/PerformanceTests/MallocBench/MallocBench/reddit.ops
new file mode 100644 (file)
index 0000000..ccf25f7
Binary files /dev/null and b/PerformanceTests/MallocBench/MallocBench/reddit.ops differ
diff --git a/PerformanceTests/MallocBench/MallocBench/reddit_memory_warning.ops b/PerformanceTests/MallocBench/MallocBench/reddit_memory_warning.ops
new file mode 100644 (file)
index 0000000..7288375
Binary files /dev/null and b/PerformanceTests/MallocBench/MallocBench/reddit_memory_warning.ops differ
diff --git a/PerformanceTests/MallocBench/MallocBench/theverge.cpp b/PerformanceTests/MallocBench/MallocBench/theverge.cpp
new file mode 100644 (file)
index 0000000..6ba2ece
--- /dev/null
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2014 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#include "CPUCount.h"
+#include "Interpreter.h"
+#include "theverge.h"
+#include <assert.h>
+#include <cstddef>
+#include <cstddef>
+#include <cstdlib>
+#include <errno.h>
+#include <fcntl.h>
+#include <string>
+#include <sys/mman.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <sys/uio.h>
+#include <unistd.h>
+#include <vector>
+
+#include "mbmalloc.h"
+
+void benchmark_theverge(bool isParallel)
+{
+    size_t times = 1;
+
+    Interpreter interpreter("theverge.ops");
+    for (size_t i = 0; i < times; ++i)
+        interpreter.run();
+}
+
+void benchmark_theverge_memory_warning(bool isParallel)
+{
+    size_t times = 1;
+
+    Interpreter interpreter("theverge_memory_warning.ops");
+    for (size_t i = 0; i < times; ++i)
+        interpreter.run();
+}
diff --git a/PerformanceTests/MallocBench/MallocBench/theverge.h b/PerformanceTests/MallocBench/MallocBench/theverge.h
new file mode 100644 (file)
index 0000000..6afeab0
--- /dev/null
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2014 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#ifndef theverge_h
+#define theverge_h
+
+void benchmark_theverge(bool isParallel);
+void benchmark_theverge_memory_warning(bool isParallel);
+
+#endif // theverge_h
diff --git a/PerformanceTests/MallocBench/MallocBench/theverge.ops b/PerformanceTests/MallocBench/MallocBench/theverge.ops
new file mode 100644 (file)
index 0000000..fcd364c
Binary files /dev/null and b/PerformanceTests/MallocBench/MallocBench/theverge.ops differ
diff --git a/PerformanceTests/MallocBench/MallocBench/theverge_memory_warning.ops b/PerformanceTests/MallocBench/MallocBench/theverge_memory_warning.ops
new file mode 100644 (file)
index 0000000..88ac20e
Binary files /dev/null and b/PerformanceTests/MallocBench/MallocBench/theverge_memory_warning.ops differ