FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

standardize benchmark inputs · JavaScriptIOT/emscripten@d239ec2 · GitHub

Commit d239ec2

Browse files
committed
standardize benchmark inputs
1 parent 46630aa commit d239ec2

7 files changed

Lines changed: 168 additions & 72 deletions

File tree

‎tests/box2d/Benchmark.cpp‎

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
// Turn this on to include the y-position of the top box in the output.
1111
#define DEBUG 0
1212

13-
#define WARMUP 64
14-
#define FRAMES 333
13+
int WARMUP;
14+
int FRAMES;
1515

1616
typedef struct {
1717
float mean;
@@ -52,7 +52,16 @@ result_t measure(clock_t times[FRAMES]) {
5252
return r;
5353
}
5454

55-
int main() {
55+
int main(int argc, char **argv) {
56+
int arg = argc > 1 ? argv[1][0] - '0' : 1;
57+
switch(arg) {
58+
case 0: WARMUP = 32; FRAMES = 161; break;
59+
case 1: WARMUP = 64; FRAMES = 333; break;
60+
case 2: WARMUP = 5*64; FRAMES = 7*333; break;
61+
case 3: WARMUP = 10*64; FRAMES = 17*333; break;
62+
default: printf("error: %d\\n", arg); return -1;
63+
}
64+
5665
// Define the gravity vector.
5766
b2Vec2 gravity(0.0f, -10.0f);
5867

‎tests/bullet/Demos/Benchmarks/main.cpp‎

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,20 @@ subject to the following restrictions:
2727

2828

2929
#define NUM_DEMOS 7
30-
#define NUM_TESTS 200
3130

3231
extern bool gDisableDeactivation;
3332

34-
int main(int argc,char** argv)
35-
{
33+
int main(int argc, char **argv) {
34+
int NUM_TESTS;
35+
int arg = argc > 1 ? argv[1][0] - '0' : 1;
36+
switch(arg) {
37+
case 0: NUM_TESTS = 7; break;
38+
case 1: NUM_TESTS = 33; break;
39+
case 2: NUM_TESTS = 5*33; break;
40+
case 3: NUM_TESTS = 7*35; break;
41+
default: printf("error: %d\\n", arg); return -1;
42+
}
43+
3644
gDisableDeactivation = true;
3745

3846
BenchmarkDemo1 benchmarkDemo1;

‎tests/fannkuch.cpp‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,9 +145,9 @@ fannkuch(int n)
145145
}
146146

147147
int
148-
main(int ac, char **av)
148+
main(int argc, char **argv)
149149
{
150-
int n = ac > 1 ? atoi(av[1]) : 0;
150+
int n = argc > 1 ? atoi(argv[1]) : 0;
151151

152152
if (n < 1) {
153153
printf("Wrong argument.\n");

‎tests/life.c‎

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -74,14 +74,19 @@ void game(int w, int h, int i)
7474
show(univ, w, h);
7575
}
7676

77-
int main(int c, char **v)
77+
int main(int argc, char **argv)
7878
{
79-
int w = 0, h = 0, i = -1; // i = -1 means run forever, normal. otherwise, run in benchmark mode
80-
if (c > 1) w = atoi(v[1]);
81-
if (c > 2) h = atoi(v[2]);
82-
if (c > 3) i = atoi(v[3]);
83-
if (w <= 0) w = 32;
84-
if (h <= 0) h = 32;
79+
int w, h, i;
80+
int arg = argc > 1 ? argv[1][0] - '0' : 1;
81+
switch(arg) {
82+
case 0: w = h = 32; i = 13000; break;
83+
case 1: w = h = 32; i = 24000; break;
84+
case 2: w = h = 32; i = 5*24000; break;
85+
case 3: w = h = 32; i = 10*24000; break;
86+
default: printf("error: %d\\n", arg); return -1;
87+
}
88+
89+
printf("life: %d,%d,%d,%d\n", arg, w, h, i);
8590
game(w, h, i);
8691
}
8792

‎tests/runner.py‎

Lines changed: 112 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -12389,12 +12389,21 @@ def do_benchmark(self, name, src, args=[], expected_output='FAIL', emcc_args=[],
1238912389
# self.print_stats(total_times, total_native_times, last=True)
1239012390

1239112391
def test_primes(self):
12392-
src = '''
12392+
src = r'''
1239312393
#include<stdio.h>
1239412394
#include<math.h>
12395-
int main() {
12395+
int main(int argc, char **argv) {
12396+
int arg = argc > 1 ? argv[1][0] - '0' : 1;
12397+
switch(arg) {
12398+
case 0: arg = 130000; break;
12399+
case 1: arg = 220000; break;
12400+
case 2: arg = 610000; break;
12401+
case 3: arg = 1010000; break;
12402+
default: printf("error: %d\\n", arg); return -1;
12403+
}
12404+
1239612405
int primes = 0, curri = 2;
12397-
while (primes < 220000) {
12406+
while (primes < arg) {
1239812407
int ok = true;
1239912408
for (int j = 2; j < sqrtf(curri); j++) {
1240012409
if (curri % j == 0) {
@@ -12407,7 +12416,7 @@ def test_primes(self):
1240712416
}
1240812417
curri++;
1240912418
}
12410-
printf("lastprime: %d.\\n", curri-1);
12419+
printf("lastprime: %d.\n", curri-1);
1241112420
return 0;
1241212421
}
1241312422
'''
@@ -12418,9 +12427,17 @@ def test_memops(self):
1241812427
#include<stdio.h>
1241912428
#include<string.h>
1242012429
#include<stdlib.h>
12421-
int main() {
12422-
int N = 1024*1024;
12423-
int M = 800;
12430+
int main(int argc, char **argv) {
12431+
int N, M;
12432+
int arg = argc > 1 ? argv[1][0] - '0' : 1;
12433+
switch(arg) {
12434+
case 0: N = 1024*1024; M = 400; break;
12435+
case 1: N = 1024*1024; M = 800; break;
12436+
case 2: N = 1024*1024; M = 4000; break;
12437+
case 3: N = 1024*1024; M = 8000; break;
12438+
default: printf("error: %d\\n", arg); return -1;
12439+
}
12440+
1242412441
int final = 0;
1242512442
char *buf = (char*)malloc(N);
1242612443
for (int t = 0; t < M; t++) {
@@ -12499,9 +12516,18 @@ def test_copy(self):
1249912516
}
1250012517
int sum() { return x + y + z + r + g + b; }
1250112518
};
12502-
int main() {
12519+
int main(int argc, char **argv) {
12520+
int arg = argc > 1 ? argv[1][0] - '0' : 1;
12521+
switch(arg) {
12522+
case 0: arg = 625; break;
12523+
case 1: arg = 1250; break;
12524+
case 2: arg = 5*1250; break;
12525+
case 3: arg = 10*1250; break;
12526+
default: printf("error: %d\\n", arg); return -1;
12527+
}
12528+
1250312529
int total = 0;
12504-
for (int i = 0; i < 1250; i++) {
12530+
for (int i = 0; i < arg; i++) {
1250512531
for (int j = 0; j < 50000; j++) {
1250612532
vec c(i, i+i%10, j*2, i%255, j%120, i%15);
1250712533
vec d(j+i%10, j*2, j%255, i%120, j%15, j);
@@ -12520,19 +12546,41 @@ def test_copy(self):
1252012546
return 0;
1252112547
}
1252212548
'''
12523-
self.do_benchmark('copy', src, [], 'sum:2836\n', emcc_args=['-s', 'QUANTUM_SIZE=4', '-s', 'USE_TYPED_ARRAYS=2'])
12549+
self.do_benchmark('copy', src, [], 'sum:2836\n')
1252412550

1252512551
def test_fannkuch(self):
12526-
src = open(path_from_root('tests', 'fannkuch.cpp'), 'r').read()
12552+
src = open(path_from_root('tests', 'fannkuch.cpp'), 'r').read().replace(
12553+
'int n = argc > 1 ? atoi(argv[1]) : 0;',
12554+
'''
12555+
int n;
12556+
int arg = argc > 1 ? argv[1][0] - '0' : 1;
12557+
switch(arg) {
12558+
case 0: n = 10; break;
12559+
case 1: n = 11; break;
12560+
case 2: n = 11; break;
12561+
case 3: n = 12; break;
12562+
default: printf("error: %d\\n", arg); return -1;
12563+
}
12564+
'''
12565+
)
12566+
assert 'switch(arg)' in src
1252712567
self.do_benchmark('fannkuch', src, ['11'], 'Pfannkuchen(11) = 51.')
1252812568

1252912569
def test_corrections(self):
1253012570
src = r'''
1253112571
#include<stdio.h>
1253212572
#include<math.h>
12533-
int main() {
12534-
int N = 20000;
12535-
int M = 7000;
12573+
int main(int argc, char **argv) {
12574+
int N, M;
12575+
int arg = argc > 1 ? argv[1][0] - '0' : 1;
12576+
switch(arg) {
12577+
case 0: N = 20000; M = 3500; break;
12578+
case 1: N = 20000; M = 7000; break;
12579+
case 2: N = 20000; M = 5*7000; break;
12580+
case 3: N = 20000; M = 10*7000; break;
12581+
default: printf("error: %d\\n", arg); return -1;
12582+
}
12583+
1253612584
unsigned int f = 0;
1253712585
unsigned short s = 0;
1253812586
for (int t = 0; t < M; t++) {
@@ -12551,7 +12599,19 @@ def test_corrections(self):
1255112599

1255212600
def fasta(self, double_rep):
1255312601
src = open(path_from_root('tests', 'fasta.cpp'), 'r').read().replace('double', double_rep)
12554-
self.do_benchmark('fasta', src, ['19000000'], '''GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA\nTCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT\nAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG\nGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG\nCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT\nGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA\nGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA\nTTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG\nAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA\nGCCTGGGCGA''')
12602+
src = src.replace(' const size_t n = ( argc > 1 ) ? atoi( argv[1] ) : 512;', '''
12603+
int n;
12604+
int arg = argc > 1 ? argv[1][0] - '0' : 1;
12605+
switch(arg) {
12606+
case 0: n = 19000000/2; break;
12607+
case 1: n = 19000000; break;
12608+
case 2: n = 19000000*5; break;
12609+
case 3: n = 19000000*10; break;
12610+
default: printf("error: %d\\n", arg); return -1;
12611+
}
12612+
''')
12613+
assert 'switch(arg)' in src
12614+
self.do_benchmark('fasta', src, [], '''GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA\nTCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT\nAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG\nGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG\nCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT\nGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA\nGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA\nTTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG\nAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA\nGCCTGGGCGA''')
1255512615

1255612616
def test_fasta_float(self):
1255712617
self.fasta('float')
@@ -12561,53 +12621,52 @@ def zzztest_fasta_double(self):
1256112621

1256212622
def test_skinning(self):
1256312623
src = open(path_from_root('tests', 'skinning_test_no_simd.cpp'), 'r').read()
12564-
self.do_benchmark('skinning', src, ['9500', '10000'], 'blah=0.000000')
12624+
self.do_benchmark('skinning', src, [], 'blah=0.000000')
1256512625

1256612626
def test_life(self):
1256712627
src = open(path_from_root('tests', 'life.c'), 'r').read()
12568-
self.do_benchmark('life', src, ['32', '32', '15000'], '''--------------------------------
12569-
[] [][][] [] [] [][]
12570-
[] [][] [] [] [] []
12571-
[] [][] [][] []
12572-
[] [] [] []
12573-
[] [] [] [] [] [] [] []
12574-
[][][][] [] [][] [][]
12575-
[]
12576-
[]
12577-
[] []
12578-
[][] [] []
12579-
[][] [][][]
12580-
[]
12581-
12582-
[]
12583-
[] []
12584-
[][]
12585-
[] [] [][] [][]
12586-
[] [] [] []
12587-
[][] []
12588-
[][][][]
12589-
12590-
[][][] [][]
12591-
[][][] [][]
12592-
[]
12593-
[]
12594-
[] [][][] []
12595-
[] []
12596-
[][] []
12597-
[][][]
12598-
[][][] [][]
12599-
[][][][][] [] [][]
12600-
[] [][] [] []
12601-
--------------------------------
12602-
''', shared_args=['-std=c99'], force_c=True)
12628+
self.do_benchmark('life', src, [], '''--------------------------------
12629+
[][] [] []
12630+
[][] [][] [] []
12631+
[][] [] []
12632+
[][] [] []
12633+
[] [][] []
12634+
[][] [] [] [] []
12635+
[][] [] [] [] []
12636+
[] [][] []
12637+
[][] [][]
12638+
[][] [][] [] []
12639+
[][] [][] [][] []
12640+
[][] []
12641+
[]
12642+
[]
12643+
[] []
12644+
[] [][][] [] []
12645+
[] [][][][][][] [] [][]
12646+
[] [][] [] [] [][] [] []
12647+
[] [] [][] [] []
12648+
[][] [] [][][] [][]
12649+
[] [] [][][]
12650+
[][] [][][][]
12651+
[][] [][] []
12652+
[] [][] []
12653+
[][]
12654+
[][] []
12655+
[] [][][][][]
12656+
[][][] [][]
12657+
[][] [] [][][]
12658+
[] [] [][]
12659+
[]
12660+
[] [][] [][][]
12661+
--------------------------------''', shared_args=['-std=c99'], force_c=True)
1260312662

1260412663
def test_zlib(self):
1260512664
src = open(path_from_root('tests', 'zlib', 'benchmark.c'), 'r').read()
1260612665
emcc_args = self.get_library('zlib', os.path.join('libz.a'), make_args=['libz.a']) + \
1260712666
['-I' + path_from_root('tests', 'zlib')]
1260812667
native_args = self.get_library('zlib_native', os.path.join('libz.a'), make_args=['libz.a'], native=True) + \
1260912668
['-I' + path_from_root('tests', 'zlib')]
12610-
self.do_benchmark('zlib', src, ['100000', '500'], '''sizes: 100000,25906
12669+
self.do_benchmark('zlib', src, [], '''sizes: 100000,25906
1261112670
ok.
1261212671
''',
1261312672
force_c=True, emcc_args=emcc_args, native_args=native_args)
@@ -12643,7 +12702,7 @@ def test_zzz_bullet(self): # Called thus so it runs late in the alphabetical cyc
1264312702
native_args = native_lib + ['-I' + path_from_root('tests', 'bullet', 'src'),
1264412703
'-I' + path_from_root('tests', 'bullet', 'Demos', 'Benchmarks')]
1264512704

12646-
self.do_benchmark('bullet', src, [], '\nok.\n', emcc_args=emcc_args, native_args=native_args, reps=1)
12705+
self.do_benchmark('bullet', src, [], '\nok.\n', emcc_args=emcc_args, native_args=native_args)
1264712706

1264812707
elif 'sanity' in str(sys.argv):
1264912708

‎tests/skinning_test_no_simd.cpp‎

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -171,8 +171,15 @@ void calculateVerticesAndNormals_x87(
171171

172172
int main (int argc, char*argv[])
173173
{
174-
const int N=atoi(argv[1]);
175-
const int M=atoi(argv[2]);
174+
int N, M;
175+
int arg = argc > 1 ? argv[1][0] - '0' : 1;
176+
switch(arg) {
177+
case 0: N = 6600; M = 6500; break;
178+
case 1: N = 9500; M = 10000; break;
179+
case 2: N = 2*11000; M = 2*12000; break;
180+
case 3: N = 3*10000; M = 3*10800; break;
181+
default: printf("error: %d\\n", arg); return -1;
182+
}
176183

177184
Vertex *v = new Vertex[N];
178185
Influence *i = new Influence[N];

‎tests/zlib/benchmark.c‎

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,16 @@ void __attribute__ ((noinline)) doit(char *buffer, int size, int i) {
2626
}
2727

2828
int main(int argc, char **argv) {
29-
int size = atoi(argv[1]);
30-
int iters = atoi(argv[2]);
29+
int size, iters;
30+
int arg = argc > 1 ? argv[1][0] - '0' : 1;
31+
switch(arg) {
32+
case 0: size = 100000; iters = 250; break;
33+
case 1: size = 100000; iters = 500; break;
34+
case 2: size = 100000; iters = 5*500; break;
35+
case 3: size = 100000; iters = 10*500; break;
36+
default: printf("error: %d\\n", arg); return -1;
37+
}
38+
3139
char *buffer = malloc(size);
3240

3341
int i = 0;

0 commit comments

Comments
 (0)

Back | FazBrowse Home | New Git URL