美文网首页
Node.js中的benchmark

Node.js中的benchmark

作者: 朝西的生活 | 来源:发表于2018-10-11 10:40 被阅读0次

目标

有一个字符串 var number = '100',我们要将它转换成 Number 类型的 100。

目前有三个选项:+, parseInt, Number

请测试哪个方法更快。

知识点

  1. 学习使用 benchmark 库
  2. 学习使用 http://jsperf.com/ 分享你的 benchmark

课程内容

首先去弄个 benchmark 库,https://github.com/bestiejs/benchmark.js

用法也特别简单,照着官网的 copy 下来就好。

我们先来实现这三个函数:

var int1 = function (str) {
  return +str;
};

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

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

然后照着官方的模板写 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').map('name'));
})
// 这里的 async 不是 mocha 测试那个 async 的意思,这个选项与它的时间计算有关,默认勾上就好了。
.run({ 'async': true });

直接运行:

image

可以看到,parseInt 是最快的。

在线分享

如果想要在线分享你的 js benchmark,用这个网站:http://jsperf.com/

比如我在上面测试 Math.log 的效率:

http://jsperf.com/math-perf-alsotang

进入之后点击那个 Run tests 按钮,就可以在浏览器中看到它们的效率差异了,毕竟浏览器也是可以跑 js 的。

点击这里:http://jsperf.com/math-perf-alsotang/edit ,就可以看到这个 benchmark 是怎么配置的,很简单。

参考:Node.js 包教不包会

相关文章

  • Node.js中的benchmark

    目标 有一个字符串 var number = '100',我们要将它转换成 Number 类型的 100。 目前有...

  • Golang中的benchmark

    知识点: benchmark函数以Benchmark开头而非 Test开头. 通过为go test命令添加-ben...

  • 使用JMH进行性能测试

    一、背景 在benchmark的世界里头,分为广义的benchmark和狭义的benchmark(即microbe...

  • rapidxml库的使用示例

    xml benchmark 参考 XML Benchmark Results 10.10.2009 的结果 初步选...

  • java基准测试之JMH

    什么是Benchmark? Benchmark是一个评价方式,在整个计算机领域有着长期的应用。Benchmark在...

  • 04. Test之benchmark

    benchmark函数一般以Benchmark开头 benchmark的case一般会跑b.N次,而且每次执行都会...

  • Redis-性能测试

    /root/redis-5.0.0/src/redis-benchmark 1、redis-benchmark -...

  • capstone-report疑问:Benchmark和Metr

    (一) 看这个【开题报告模板】中的 Benchmark Model 和 Evaluation Metricshtt...

  • benchmark

    函数性能测试工具 经常,我们在设计一个架构或者技术方案的时候,需要应用到某个容器或者算法,这个时候,我们往往会考虑...

  • Benchmark

    Benchmark基准 基准测试是指通过设计科学的测试方法、测试工具和测试系统,实现对一类测试对象的某项性能指标进...

网友评论

      本文标题:Node.js中的benchmark

      本文链接:https://www.haomeiwen.com/subject/hwovaftx.html