зеркало из 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';
|
'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 = {
|
var window = {
|
||||||
setZeroTimeout: function(callback) {
|
setZeroTimeout: function(callback) {
|
||||||
callback();
|
callback();
|
||||||
|
@ -68,6 +74,6 @@ print("INITIALIZATION TIME: " + (dateNow() - start));
|
||||||
|
|
||||||
start = dateNow();
|
start = dateNow();
|
||||||
|
|
||||||
jvm.startIsolate0("SimpleClass", urlParams.args);
|
jvm.startIsolate0(scriptArgs[0], urlParams.args);
|
||||||
|
|
||||||
print("RUNNING TIME: " + (dateNow() - start));
|
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();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Загрузка…
Ссылка в новой задаче