为了学习一些系统编程,我打算尝试写一个生锈的tokeniser。我立即发现迭代字符串的字符非常慢。我整理了一个简单的基准来表明我的意思。
setHasOptionsMenu(true); //Inside of onCreate in FRAGMENT:
@Override
public void onPrepareOptionsMenu(Menu menu) {
menu.findItem(R.id.action_search).setVisible(false);
}
是一个大约3000个字符的HTML文档
节点:
src/bench.html

生锈:
var input = require('fs').readFileSync('src/bench.html', 'utf8');
var len = input.length;
for(var i = 0; i < 100; i+=1) run();
function run () {
var index = 0;
while (index < len) {
var c = input.charAt(index);
// noop
index++;
}
}
有人可以解释我在rust例子中做错了什么,使它比节点中的同样东西慢10倍?
找到答案 0 :(得分:4)
简单回答,在进行基准测试时,请不要使用target/debug/program
,而应首先运行cargo build --release
。这将为您提供target/release/program
基准:)