зеркало из https://github.com/mozilla/pluotsorbet.git
Merge pull request #453 from brendandahl/benchmarks
Add benchmarks for the various method type invocations.
This commit is contained in:
Коммит
c2ee871860
|
@ -3,6 +3,12 @@
|
|||
|
||||
'use strict';
|
||||
|
||||
if (scriptArgs.length !== 1) {
|
||||
print("error: One main class name must be specified.");
|
||||
print("usage: jsshell <main class name>");
|
||||
quit(1);
|
||||
}
|
||||
|
||||
var window = {
|
||||
setZeroTimeout: function(callback) {
|
||||
callback();
|
||||
|
@ -68,6 +74,6 @@ print("INITIALIZATION TIME: " + (dateNow() - start));
|
|||
|
||||
start = dateNow();
|
||||
|
||||
jvm.startIsolate0("SimpleClass", urlParams.args);
|
||||
jvm.startIsolate0(scriptArgs[0], urlParams.args);
|
||||
|
||||
print("RUNNING TIME: " + (dateNow() - start));
|
||||
|
|
|
@ -1,28 +0,0 @@
|
|||
interface TestInterface {
|
||||
public void asd();
|
||||
}
|
||||
|
||||
class TestClass implements TestInterface {
|
||||
public void asd() {
|
||||
int c = 5;
|
||||
c++;
|
||||
}
|
||||
}
|
||||
|
||||
class SimpleClass {
|
||||
public void asd() {
|
||||
int c = 5;
|
||||
c++;
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
System.out.println("I'm hungry");
|
||||
|
||||
TestInterface a = new TestClass();
|
||||
SimpleClass b = new SimpleClass();
|
||||
|
||||
for (int i = 0; i < 999999; i++) {
|
||||
a.asd();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
package benchmark;
|
||||
|
||||
interface IFace {
|
||||
public int method();
|
||||
}
|
||||
|
||||
class IFaceImpl implements IFace {
|
||||
public int method() {
|
||||
return 6;
|
||||
}
|
||||
}
|
||||
|
||||
class InvokeInterface {
|
||||
public static void main(String[] args) {
|
||||
IFace foo = new IFaceImpl();
|
||||
for (int i = 0; i < 100000; i++) {
|
||||
foo.method();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
package benchmark;
|
||||
|
||||
class InvokeStatic {
|
||||
public static int staticus() {
|
||||
return 5;
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
for (int i = 0; i < 100000; i++) {
|
||||
staticus();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
package benchmark;
|
||||
|
||||
class BaseClass {
|
||||
public int method() {
|
||||
return 5;
|
||||
}
|
||||
}
|
||||
|
||||
class NextClass extends BaseClass {
|
||||
public int method() {
|
||||
return 6;
|
||||
}
|
||||
}
|
||||
|
||||
class InvokeVirtual {
|
||||
public static void main(String[] args) {
|
||||
NextClass foo = new NextClass();
|
||||
for (int i = 0; i < 100000; i++) {
|
||||
foo.method();
|
||||
}
|
||||
}
|
||||
}
|
Загрузка…
Ссылка в новой задаче