CINT2000程序在不同测试集下的运行方式
<test>
bzip2 input.random 2 >input.random.out 2>input.random.err
</test>
<train>
bzip2 input.compressed 8 >input.compressed.out 2>input.compressed.err
</train>
<ref>
bzip2 input.source 58 > input.source.out 2> input.source.err
bzip2 input.graphic 58 > input.graphic.out 2> input.graphic.err
bzip2 input.program 58 > input.program.out 2> input.program.err
</ref>
<test>
crafty <crafty.in >crafty.out 2>crafty.err
</test>
<train>
crafty <crafty.in >crafty.out 2>crafty.err
</train>
<ref>
crafty <crafty.in >crafty.out 2>crafty.err
</ref>
<test>
gap -l ./ -q -m 64M <test.in >test.out 2>test.err
</test>
<train>
gap -l ./-q -m 128M <train.in >train.out 2>train.err
</train>
<ref>
gap -l ./ -q -m 192M <ref.in >ref.out 2>ref.err
</ref>
<test>
cc1 cccp.i -o cccp.s >cccp.out 2>cccp.err
</test>
<train>
cc1 cp-decl.i -o cp-decl.s >cp-decl.out 2>cp-decl.err
</train>
<ref>
cc1 166.i -o 166.s >166.out 2>166.err
cc1 200.i -o 200.s >200.out 2>200.err
cc1 expr.i -o expr.s >expr.out 2>expr.err
cc1 integrate.i -o integrate.s >integrate.out 2>integrate.err
cc1 scilab.i -o scilab.s >scilab.out 2>scilab.err
</ref>
<test>
gzip input.compressed 2 >input.compressed.out 2>input.compressed.err
</test>
<train>
gzip input.combined 32 >input.combined.out 2>input.combined.err
</train>
<ref>
gzip input.source 60 >input.source.out 2>input.source.err
gzip input.log 60 >input.log.out 2>input.log.err
gzip input.graphic 60 >input.graphic.out 2>input.graphic.err
gzip input.random 60 >input.random.out 2>input.random.err
gzip input.program 60 >input.program.out 2>input.program.err
</ref>
<test>
mcf inp.in >inp.out 2>inp.err
</test>
<train>
mcf inp.in >inp.out 2>inp.err
</train>
<ref>
mcf inp.in >inp.out 2>inp.err
</ref>
<test>
parser 2.1.dict -batch <test.in >test.out 2>test.err
</test>
<train>
parser 2.1.dict -batch <train.in >train.out 2>train.err
</train>
<ref>
parser 2.1.dict -batch <ref.in >ref.out 2>ref.err
</ref>
<test>
perlbmk -I. -I./lib test.pl <test.in >test.out 2>test.err
</test>
<train>
perlbmk -I./lib diffmail.pl 2 350 15 24 23 150 >2.350.15.24.23.150.out 2>2.350.15.24.23.150.err
perlbmk -I./lib perfect.pl b 3 >b.3.out 2>b.3.err
perlbmk -I. -I./lib scrabbl.pl <scrabbl.in >scrabbl.out 2>scrabbl.err
</train>
<ref>
perlbmk -I./lib diffmail.pl 2 550 15 24 23 100 >2.550.15.24.23.100.out 2>2.550.15.24.23.100.err
perlbmk -I. -I./lib makerand.pl >makerand.out 2>makerand.err
perlbmk -I./lib perfect.pl b 3 m 4 >b.3.m.4.out 2>b.3.m.4.err
perlbmk -I./lib splitmail.pl 850 5 19 18 1500 >850.5.19.18.1500.out 2>850.5.19.18.1500.err
perlbmk -I./lib splitmail.pl 704 12 26 16 836 >704.12.26.16.836.out 2>704.12.26.16.836.err
perlbmk -I./lib splitmail.pl 535 13 25 24 1091 >535.13.25.24.1091.out 2>535.13.25.24.1091.err
perlbmk -I./lib splitmail.pl 957 12 23 26 1014 >957.12.23.26.1014.out 2>957.12.23.26.1014.err
</ref>
<test>
twolf test >test.stdout 2>test.err
</test>
<train>
twolf train >train.stdout 2>train.err
</train>
<ref>
twolf ref >ref.stdout 2>ref.err
</ref>
<test>
vortex lendian.raw >vortex.out2 2>vortex.err
</test>
<train>
vortex lendian.raw >vortex.out2 2>vortex.err
</train>
<ref>
vortex lendian1.raw >vortex1.out2 2>vortex1.err
vortex lendian2.raw >vortex2.out2 2>vortex2.err
vortex lendian3.raw >vortex3.out2 2>vortex3.err
</ref>
<test>
vpr net.in arch.in place.out dum.out -nodisp -place_only -init_t 5 -exit_t 0.005 -alpha_t 0.9412 -inner_num 2 >place_log.out 2>place_log.err
vpr net.in arch.in place.in route.out -nodisp -route_only -route_chan_width 15 -pres_fac_mult 2 -acc_fac 1 -first_iter_pres_fac 4 -initial_pres_fac 8 >route_log.out 2>route_log.err
</test>
<train>
vpr net.in arch.in place.out dum.out -nodisp -place_only -init_t 5 -exit_t 0.005 -alpha_t 0.9412 -inner_num 2 >place_log.out 2>place_log.err
vpr net.in arch.in place.in route.out -nodisp -route_only -route_chan_width 15 -pres_fac_mult 2 -acc_fac 1 -first_iter_pres_fac 4 -initial_pres_fac 8 >route_log.out 2>route_log.err
</train>
<ref>
vpr net.in arch.in place.out dum.out -nodisp -place_only -init_t 5 -exit_t 0.005 -alpha_t 0.9412 -inner_num 2 >place_log.out 2>place_log.err
vpr net.in arch.in place.in route.out -nodisp -route_only -route_chan_width 15 -pres_fac_mult 2 -acc_fac 1 -first_iter_pres_fac 4 -initial_pres_fac 8 >route_log.out 2>route_log.err
</ref>
独立运行某一个并记录运行时间代码
#include <stdio.h>
#include <stdlib.h>
#include <sys/time.h>
#include <string.h>
#include <unistd.h>
#define MAXLEN 1024
int main()
{
struct timeval start;
struct timeval end;
unsigned int timer_sec = 0;
unsigned long timer_msec = 0;
char cmd[MAXLEN];
printf("Specint cmd:\n");
if (NULL != fgets(cmd, MAXLEN, stdin)) {
cmd[strlen(cmd) - 1] = 0;
}
printf("%s\n", cmd);
gettimeofday(&start, NULL);
system(cmd);
gettimeofday(&end, NULL);
timer_sec = end.tv_sec - start.tv_sec;
timer_msec = (end.tv_usec - start.tv_usec) / 1000;
printf("timer = %d.%ld s\n", timer_sec, timer_msec);
return 0;
}
spec2000的分数计算:标准时间 / 实际运行时间 × 100
例:164.gzip 标准时间reftime为1400,实际运行时间58.06秒,则gzip的得分为:1400 / 58.06 * 100 = 2411
注:此处的实际运行时间即一个测试子集中的所有测试用例耗时总和
SPEC CINT2000
Benchmark Reference
Name Time(Sec) Description
------------ -------- ---------------------
164.gzip 1400 Compression
175.vpr 1400 FPGA Circuit Placement and Routing
176.gcc 1100 C Programming Language Compiler
181.mcf 1800 Combinatorial Optimization
186.crafty 1000 Game Playing: Chess
197.parser 1800 Word Processing
252.eon 1300 Computer Visualization
253.perlbmk 1800 PERL Programming Language
254.gap 1100 Group Theory, Interpreter
255.vortex 1900 Object-oriented Database
256.bzip2 1500 Compression
300.twolf 3000 Place and Route Simulator