Nodejs第十课

benchmaek怎么写

目标

有一个字符串var number = '100',我们要将它转换成Number类型的100
三个选项: + , parseInt, Number
测试哪种方法更快

知识点

课程内容

首先得有一个benchmark库, https://github.com/bestiejs/benchmark.js
貌似很久没更新的样子,依旧可以使用
按照实例跟着写:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
var int1 = function (str) {
return +str;
};

var int2 = function (str) {
return parseInt(str, 10);
};

var int3 = function (str) {
return Number(str);
};

var Benchmark = require('benchmark');
var suite = new Benchmark.Suite;

var number = '100';

suite
.add('+', function(){
int1(number);
})
.add('parseInt', function(){
int2(number);
})
.add('Number', function(){
int3(number);
})
//每个测试完成后,输出
.on('cycle', function(event){
console.log(String(event.target));
})
.on('complete', function(){
console.log('Fastest is ' + this.filter('fastest').pluck('name'));
})
//默认勾选async
.run({ 'async' : true });

我们实现了三个函数,然后添加测试

在线分享

如果需要在线分享你的js benchmark,进入这个网站: http://jsperf.com/ .
比如alsotang分享的 http://jsperf.com/math-perf-alsotang

# lesson
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×