Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Rust
提交
d5b2d62b
R
Rust
项目概览
int
/
Rust
大约 1 年 前同步成功
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
Rust
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
d5b2d62b
编写于
9月 13, 2011
作者:
G
Graydon Hoare
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add build-system mechanisms for running benchmarks under 'perf'.
上级
c84b8e90
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
64 addition
and
2 deletion
+64
-2
Makefile.in
Makefile.in
+6
-0
configure
configure
+3
-1
mk/perf.mk
mk/perf.mk
+1
-0
mk/platform.mk
mk/platform.mk
+29
-0
mk/tests.mk
mk/tests.mk
+25
-1
未找到文件。
Makefile.in
浏览文件 @
d5b2d62b
...
...
@@ -271,11 +271,17 @@ endif
ifneq
($(strip $(findstring check,$(MAKECMDGOALS)) \
$(findstring
test,$(MAKECMDGOALS))
\
$(findstring
perf,$(MAKECMDGOALS))
\
$(findstring
tidy,$(MAKECMDGOALS))),)
CFG_INFO
:=
$
(
info cfg: including
test
rules
)
include
$(CFG_SRC_DIR)/mk/tests.mk
endif
ifneq
($(findstring perf,$(MAKECMDGOALS)),)
CFG_INFO
:=
$
(
info cfg: including perf rules
)
include
$(CFG_SRC_DIR)/mk/perf.mk
endif
ifneq
($(findstring clean,$(MAKECMDGOALS)),)
CFG_INFO
:=
$
(
info cfg: including clean rules
)
include
$(CFG_SRC_DIR)/mk/clean.mk
...
...
configure
浏览文件 @
d5b2d62b
...
...
@@ -183,7 +183,8 @@ for i in \
rustllvm
\
dl stage0 stage1 stage2 stage3
\
stage0/lib stage1/lib stage2/lib stage3/lib
\
test
/run-pass
test
/run-fail
test
/compile-fail
test
/bench
test
/pretty
test
/run-pass
test
/run-fail
test
/compile-fail
\
test
/bench
test
/perf
test
/pretty
do
make_dir
$i
done
...
...
@@ -205,6 +206,7 @@ probe CFG_CLANG clang++
probe CFG_GCC gcc
probe CFG_LLVM_CONFIG llvm-config
probe CFG_VALGRIND valgrind
probe CFG_PERF perf
probe CFG_MAKEINFO makeinfo
probe CFG_TEXI2PDF texi2pdf
probe CFG_TEX tex
...
...
mk/perf.mk
0 → 100644
浏览文件 @
d5b2d62b
perf
:
check-stage2-perf
mk/platform.mk
浏览文件 @
d5b2d62b
...
...
@@ -34,6 +34,35 @@ ifeq ($(CFG_OSTYPE), Linux)
CFG_UNIXY
:=
1
CFG_LDENV
:=
LD_LIBRARY_PATH
CFG_DEF_SUFFIX
:=
.linux.def
ifdef
CFG_PERF
CFG_PERF_TOOL
:=
\
$(CFG_PERF)
\
stat
\
-e
cycles
\
-e
instructions
\
-e
cache-references
\
-e
cache-misses
\
-e
branches
\
-e
branch-misses
\
-e
bus-cycles
\
-e
task-clock
\
-e
page-faults
\
-e
context-switches
\
-e
cpu-migrations
\
-e
kmem:mm_page_alloc
\
-e
syscalls:sys_enter
\
-e
sched:sched_switch
\
-e
fs:do_sys_open
\
-i
\
-r
10
else
ifdef
CFG_VALGRIND
CFG_PERF_TOOL
:=
\
$(CFG_VALGRIND)
--tool
=
cachegrind
--cache-sim
=
yes
--branch-sim
=
yes
else
CFG_PERF_TOOL
:=
/usr/bin/time
--verbose
endif
endif
endif
ifeq
($(CFG_OSTYPE), Darwin)
...
...
mk/tests.mk
浏览文件 @
d5b2d62b
...
...
@@ -15,10 +15,15 @@ CFAIL_RS := $(wildcard $(S)src/test/compile-fail/*.rs)
BENCH_RS
:=
$(
wildcard
$(S)
src/test/bench/
*
.rs
)
PRETTY_RS
:=
$(
wildcard
$(S)
src/test/pretty/
*
.rs
)
# perf tests are the same as bench tests only they run under
# a performance monitor.
PERF_RS
:=
$(
wildcard
$(S)
src/test/bench/
*
.rs
)
RPASS_TESTS
:=
$(RPASS_RC)
$(RPASS_RS)
RFAIL_TESTS
:=
$(RFAIL_RC)
$(RFAIL_RS)
CFAIL_TESTS
:=
$(CFAIL_RC)
$(CFAIL_RS)
BENCH_TESTS
:=
$(BENCH_RS)
PERF_TESTS
:=
$(PERF_RS)
PRETTY_TESTS
:=
$(PRETTY_RS)
FT
:=
run_pass_stage2
...
...
@@ -40,6 +45,11 @@ ifdef CFG_VALGRIND
CTEST_RUNTOOL
=
--runtool
"
$(CFG_VALGRIND)
"
endif
# Arguments to the perf tests
ifdef
CFG_PERF_TOOL
CTEST_PERF_RUNTOOL
=
--runtool
"
$(CFG_PERF_TOOL)
"
endif
CTEST_TESTARGS
:=
$(TESTARGS)
ifdef
VERBOSE
...
...
@@ -150,7 +160,7 @@ test/rustctest.stage$(2).out.tmp: test/rustctest.stage$(2)$$(X)
$
$(Q)
touch
$$
@
# Rules for the cfail/rfail/rpass/bench test runner
# Rules for the cfail/rfail/rpass/bench
/perf
test runner
check-stage$(2)-cfail
:
test/compile-fail.stage$(2).out
\
...
...
@@ -160,6 +170,8 @@ check-stage$(2)-rpass: test/run-pass.stage$(2).out \
check-stage$(2)-bench
:
test/bench.stage$(2).out
\
check-stage$(2)-perf
:
test/perf.stage$(2).out
\
check-stage$(2)-pretty-rpass
:
test/pretty-rpass.stage$(2).out
\
check-stage$(2)-pretty-rfail
:
test/pretty-rfail.stage$(2).out
\
...
...
@@ -203,6 +215,12 @@ BENCH_ARGS$(2) := $$(CTEST_COMMON_ARGS$(2)) \
--mode
run-pass
\
$
$(CTEST_RUNTOOL)
\
PERF_ARGS$(2)
:=
$$
(
CTEST_COMMON_ARGS
$(2)
)
\
--src-base
$(S)
src/test/bench/
\
--build-base
test
/perf/
\
--mode
run-pass
\
$
$(CTEST_PERF_RUNTOOL)
\
PRETTY_RPASS_ARGS$(2)
:=
$$
(
CTEST_COMMON_ARGS
$(2)
)
\
--src-base
$
$(S)
src/test/run-pass/
\
--build-base
test
/run-pass/
\
...
...
@@ -253,6 +271,12 @@ test/bench.stage$(2).out.tmp: test/compiletest.stage$(2)$$(X) \
$
$(Q)
$
$(
call
CFG_RUN_CTEST,
$(2)
,
$$
<
)
$$
(
BENCH_ARGS
$(2)
)
$
$(Q)
touch
$$
@
test/perf.stage$(2).out.tmp
:
test/compiletest.stage$(2)$$(X)
\
$$(BENCH_TESTS)
@
$
$(
call
E, perf:
$$
<
)
$
$(Q)
$
$(
call
CFG_RUN_CTEST,
$(2)
,
$$
<
)
$$
(
PERF_ARGS
$(2)
)
$
$(Q)
touch
$$
@
test/pretty-rpass.stage$(2).out.tmp
:
test/compiletest.stage$(2)$$(X)
\
$$(RPASS_TESTS)
@
$
$(
call
E, run:
$$
<
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录