Issue #94 [4/x]: Added some benchmarks for thinlocks
authorJan Vrany <jan.vrany@fit.cvut.cz>
Sat, 18 Mar 2017 22:18:19 +0000
changeset 3771 f488375df1c3
parent 3770 dadc56c104b7
child 3772 4820f3d55523
Issue #94 [4/x]: Added some benchmarks for thinlocks
benchmarks/JavaBenchmarkClassLoader.st
benchmarks/JavaBenchmarkMisc.st
benchmarks/java/build.auto.xml
benchmarks/stx_libjava_benchmarks.st
--- a/benchmarks/JavaBenchmarkClassLoader.st	Thu Dec 29 21:48:21 2016 +0000
+++ b/benchmarks/JavaBenchmarkClassLoader.st	Sat Mar 18 22:18:19 2017 +0000
@@ -10,6 +10,7 @@
 	category:'Benchmarks-Java'
 !
 
+
 !JavaBenchmarkClassLoader class methodsFor:'running'!
 
 run
@@ -129,3 +130,10 @@
     "Created: / 21-05-2014 / 11:29:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+!JavaBenchmarkClassLoader class methodsFor:'documentation'!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+! !
+
--- a/benchmarks/JavaBenchmarkMisc.st	Thu Dec 29 21:48:21 2016 +0000
+++ b/benchmarks/JavaBenchmarkMisc.st	Sat Mar 18 22:18:19 2017 +0000
@@ -43,6 +43,60 @@
     "Modified (format): / 14-09-2015 / 18:22:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+lockingNoContentionNesting0
+    <benchmark: 'Locking (no contention, no nesting'>
+
+    | o b0 |
+    o := (Java classForName:'java.lang.Object') new.
+    b0 := [  ].
+    1000000 timesRepeat:[
+        o synchronized: b0
+    ].
+
+    "
+    JavaBenchmarkMisc run: #lockingNoContentionNesting0
+    "
+
+    "Created: / 18-03-2017 / 22:14:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+lockingNoContentionNesting1
+    <benchmark: 'Locking (no contention, nesting depth 1'>
+
+    | o b0 b1 |
+    o := (Java classForName:'java.lang.Object') new.
+    b0 := [  ].
+    b1 := [ o synchronized: b0 ].
+    1000000 timesRepeat:[
+        o synchronized: b1
+    ].
+
+    "
+    JavaBenchmarkMisc run: #lockingNoContentionNesting1
+    "
+
+    "Created: / 18-03-2017 / 22:15:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+lockingNoContentionNesting2
+    <benchmark: 'Locking (no contention, nesting depth 1'>
+
+    | o b0 b1 b2 |
+    o := (Java classForName:'java.lang.Object') new.
+    b0 := [  ].
+    b1 := [ o synchronized: b0 ].
+    b2 := [ o synchronized: b1 ].
+    1000000 timesRepeat:[
+        o synchronized: b2
+    ].
+
+    "
+    JavaBenchmarkMisc run: #lockingNoContentionNesting2
+    "
+
+    "Created: / 18-03-2017 / 22:16:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 saxon
     <benchmark: 'Saxon'>
 
@@ -128,7 +182,7 @@
     Java classForName: 'stx.libjava.benchmarks.Saxon'.
 
     "Created: / 21-05-2014 / 11:24:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 11-04-2015 / 17:10:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 18-03-2017 / 22:17:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 tearDown
--- a/benchmarks/java/build.auto.xml	Thu Dec 29 21:48:21 2016 +0000
+++ b/benchmarks/java/build.auto.xml	Sat Mar 18 22:18:19 2017 +0000
@@ -6,6 +6,7 @@
 
     <path id="build.classpath.prereqs">
        <path refid="build.classpath.prereqs.stx.libjava"/>
+       <path refid="build.classpath.prereqs.stx.libjava.libs"/>
 
     </path>
 
@@ -13,6 +14,10 @@
         <pathelement path="${TOP}/../stx/libjava/java/bin"/>
         <fileset dir="${TOP}/../stx/libjava/java/libs" includes="*.jar"/>  
     </path>
+    <path id="build.classpath.prereqs.stx.libjava.libs">
+        <pathelement path="${TOP}/../stx/libjava/libs/java/bin"/>
+        <fileset dir="${TOP}/../stx/libjava/libs/java/libs" includes="*.jar"/>  
+    </path>
 
 
     <target name="prereqs.stx.libjava" extensionOf="prereqs.main">
@@ -21,6 +26,12 @@
              inheritAll="false"
              useNativeBasedir="true"/> 
     </target>
+    <target name="prereqs.stx.libjava.libs" extensionOf="prereqs.main">
+        <ant antfile="${TOP}/../stx/libjava/libs/java/build.xml" 
+             target="${ant.project.invoked-targets}"
+             inheritAll="false"
+             useNativeBasedir="true"/> 
+    </target>
 
 
 </project>
--- a/benchmarks/stx_libjava_benchmarks.st	Thu Dec 29 21:48:21 2016 +0000
+++ b/benchmarks/stx_libjava_benchmarks.st	Sat Mar 18 22:18:19 2017 +0000
@@ -47,8 +47,10 @@
         #'jv:calipel/s'    "BenchmarkInstance - referenced by JavaBenchmarkClassLoader class>>run:"
         #'stx:libbasic2'    "ZipArchive - referenced by JavaBenchmarkClassLoader>>setUp"
         #'stx:libjava'    "Java - referenced by JavaBenchmark>>runJ:"
-        #'stx:libprofiler'    "Profiler - referenced by JavaBenchmark>>profileStart"
+        #'stx:libjava/libs'    "Java - referenced by JavaBenchmark>>runJ:"
     )
+
+    "Modified: / 18-03-2017 / 22:26:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 subProjects