Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
deno
提交
f44ecdff
D
deno
项目概览
张重言
/
deno
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
deno
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
f44ecdff
编写于
10月 20, 2018
作者:
Y
Yoshiya Hinosawa
提交者:
Ryan Dahl
10月 20, 2018
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat: show only 20 benchmark data in inde.html
上级
edb7b609
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
75 addition
and
13 deletion
+75
-13
.gitignore
.gitignore
+1
-0
tools/benchmark.py
tools/benchmark.py
+8
-6
website/all_benchmark.html
website/all_benchmark.html
+47
-0
website/app.js
website/app.js
+13
-5
website/index.html
website/index.html
+6
-2
未找到文件。
.gitignore
浏览文件 @
f44ecdff
...
...
@@ -14,3 +14,4 @@ node_modules
/gh-pages
# temp benchmark data
/website/data.json
/website/recent.json
tools/benchmark.py
浏览文件 @
f44ecdff
...
...
@@ -25,7 +25,8 @@ exec_time_benchmarks = [
]
gh_pages_data_file
=
"gh-pages/data.json"
data_file
=
"website/data.json"
all_data_file
=
"website/data.json"
# Includes all benchmark data.
recent_data_file
=
"website/recent.json"
# Includes recent 20 benchmark data.
def
read_json
(
filename
):
...
...
@@ -39,16 +40,16 @@ def write_json(filename, data):
def
import_data_from_gh_pages
():
if
os
.
path
.
exists
(
data_file
):
if
os
.
path
.
exists
(
all_
data_file
):
return
try
:
run
([
"git"
,
"clone"
,
"--depth"
,
"1"
,
"-b"
,
"gh-pages"
,
"https://github.com/denoland/deno.git"
,
"gh-pages"
])
shutil
.
copy
(
gh_pages_data_file
,
data_file
)
shutil
.
copy
(
gh_pages_data_file
,
all_
data_file
)
except
:
write_json
(
data_file
,
[])
# writes empty json data
write_json
(
all_
data_file
,
[])
# writes empty json data
def
get_binary_sizes
(
build_dir
):
...
...
@@ -157,7 +158,7 @@ def main(argv):
run
([
"hyperfine"
,
"--export-json"
,
benchmark_file
,
"--warmup"
,
"3"
]
+
[
deno_path
+
" "
+
" "
.
join
(
args
)
for
[
_
,
args
]
in
exec_time_benchmarks
])
all_data
=
read_json
(
data_file
)
all_data
=
read_json
(
all_
data_file
)
benchmark_data
=
read_json
(
benchmark_file
)
sha1
=
run_output
([
"git"
,
"rev-parse"
,
"HEAD"
]).
strip
()
new_data
=
{
...
...
@@ -191,7 +192,8 @@ def main(argv):
new_data
[
"syscall_count"
]
=
run_syscall_count_benchmark
(
deno_path
)
all_data
.
append
(
new_data
)
write_json
(
data_file
,
all_data
)
write_json
(
all_data_file
,
all_data
)
write_json
(
recent_data_file
,
all_data
[
-
20
:])
if
__name__
==
'__main__'
:
...
...
website/all_benchmark.html
0 → 100644
浏览文件 @
f44ecdff
<!-- Copyright 2018 the Deno authors. All rights reserved. MIT license. -->
<!DOCTYPE html>
<html>
<head>
<title>
all benchmark data | deno
</title>
<link
rel=
"stylesheet"
href=
"https://unpkg.com/c3@0.6.7/c3.min.css"
>
<link
rel=
"stylesheet"
href=
"style.css"
>
<meta
content=
'width=device-width, initial-scale=1.0'
name=
'viewport'
/>
</head>
<body>
<main>
<h1>
all benchmark data
</h1>
<p><a
href=
"./"
>
back
</a>
<h2>
Execution time
</h2>
<div
id=
"exec-time-chart"
></div>
<h2>
Throughput
</h2>
<div
id=
"throughput-chart"
></div>
<h2>
Req/Sec
</h2>
<div
id=
"req-per-sec-chart"
></div>
<h2>
Executable size
</h2>
<div
id=
"binary-size-chart"
></div>
<h2>
Thread count
</h2>
<div
id=
"thread-count-chart"
></div>
<h2>
Syscall count
</h2>
<div
id=
"syscall-count-chart"
></div>
<h2>
Travis
</h2>
<div
id=
"travis-compile-time-chart"
></div>
</main>
<script
src=
"https://unpkg.com/d3@5.7.0/dist/d3.min.js"
></script>
<script
src=
"https://unpkg.com/c3@0.6.7/c3.min.js"
></script>
<script
type=
"module"
>
import
{
drawCharts
}
from
"
./app.js
"
;
window
.
chartWidth
=
800
drawCharts
(
"
./data.json
"
);
</script>
</body>
</html>
website/app.js
浏览文件 @
f44ecdff
...
...
@@ -124,12 +124,17 @@ export function formatBytes(a, b) {
return
parseFloat
((
a
/
Math
.
pow
(
c
,
f
)).
toFixed
(
d
))
+
"
"
+
e
[
f
];
}
/**
* @param {string} id The id of dom element
* @param {any[][]} columns The columns data
* @param {string[]} categories The sha1 hashes (which work as x-axis values)
*/
function
gen2
(
id
,
categories
,
columns
,
onclick
)
{
c3
.
generate
({
bindto
:
id
,
size
:
{
height
:
300
,
width
:
375
width
:
window
.
chartWidth
||
375
// TODO: do not use global variable
},
data
:
{
columns
,
...
...
@@ -154,16 +159,19 @@ export function formatSeconds(t) {
return
a
<
30
?
`
${
min
}
min`
:
`
${
min
+
1
}
min`
;
}
export
function
main
()
{
drawChartsFromBenchmarkData
();
/**
* @param dataUrl The url of benchramk data json.
*/
export
function
drawCharts
(
dataUrl
)
{
drawChartsFromBenchmarkData
(
dataUrl
);
drawChartsFromTravisData
();
}
/**
* Draws the charts from the benchmark data stored in gh-pages branch.
*/
export
async
function
drawChartsFromBenchmarkData
()
{
const
data
=
await
getJson
(
"
./data.json
"
);
export
async
function
drawChartsFromBenchmarkData
(
dataUrl
)
{
const
data
=
await
getJson
(
dataUrl
);
const
execTimeColumns
=
createExecTimeColumns
(
data
);
const
throughputColumns
=
createThroughputColumns
(
data
);
...
...
website/index.html
浏览文件 @
f44ecdff
...
...
@@ -48,13 +48,17 @@
<h2>
Travis
</h2>
How long for Travis CI to return a green status for pull requests.
<div
id=
"travis-compile-time-chart"
></div>
<h2>
References
</h2>
<p>
<a
href=
"./all_benchmark.html"
>
All benchmark data
</a>
</main>
<script
src=
"https://unpkg.com/d3@5.7.0/dist/d3.min.js"
></script>
<script
src=
"https://unpkg.com/c3@0.6.7/c3.min.js"
></script>
<script
type=
"module"
>
import
{
main
}
from
"
./app.js
"
;
main
(
);
import
{
drawCharts
}
from
"
./app.js
"
;
drawCharts
(
"
./recent.json
"
);
</script>
</body>
</html>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录