首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用节点做基本测试?

如何使用节点做基本测试?

提问于 2018-02-11 15:54:07
回答 2关注 0查看 503

use strict使基准测试更?

代码语言:txt
AI代码解释
复制
//
// RUN WITH AND WITHOUT THIS
//
"use strict";

var assert = require('assert');

var slice = [].slice;

function thunkify_fast(fn){
  assert('function' == typeof fn, 'function required');

  return function(){
    var args = new Array(arguments.length);
    for(var i = 0; i < args.length; ++i) {
      args[i] = arguments[i];
    }
    var ctx = this;

    return function(done){
      var called;

      args.push(function(){
        if (called) return;
        called = true;
        done.apply(null, arguments);
      });

      try {
        fn.apply(ctx, args);
      } catch (err) {
        done(err);
      }
    }
  }
};

function thunkify_slow(fn){
  assert('function' == typeof fn, 'function required');

  return function(){
    var args = slice.call(arguments);
    var ctx = this;

    return function(done){
      var called;

      args.push(function(){
        if (called) return;
        called = true;
        done.apply(null, arguments);
      });

      try {
        fn.apply(ctx, args);
      } catch (err) {
        done(err);
      }
    }
  }
};


var fn = function () { };

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


//
// Only one wrapper can be sent through the optimized compiler
//
suite.add( 'thunkify#fast', function () { thunkify_fast(fn)(function(){}) } )
    .add( 'thunkify#slow', function () { thunkify_slow(fn)(function(){}) } )
    .on('cycle', function(event) { console.log(String(event.target)); })
    .on('complete', function() {
        console.log('Fastest is ' + this.filter('fastest').pluck('name'));
    })
    .run();

"use strict"

代码语言:txt
AI代码解释
复制
$ node --allow-natives-syntax test.js 
thunkify#fast x 8,511,605 ops/sec ±1.22% (95 runs sampled)
thunkify#slow x 4,579,633 ops/sec ±0.68% (96 runs sampled)
Fastest is thunkify#fast

然而,有了这个"use strict;"

代码语言:txt
AI代码解释
复制
$ node --allow-natives-syntax test.js 
thunkify#fast x 9,372,375 ops/sec ±0.45% (100 runs sampled)
thunkify#slow x 1,483,664 ops/sec ±0.93% (96 runs sampled)
Fastest is thunkify#fast

如果改变测试用例,

代码语言:txt
AI代码解释
复制
var f_fast = thunkify_fast(fn);
var f_slow = thunkify_slow(fn);
suite.add( 'thunkify#fast', function () { f_fast(function(){}) } )
  .add( 'thunkify#slow', function () { f_slow(function(){}) } )
  .on('cycle', function(event) { console.log(String(event.target)); })
  .on('complete', function() {
    console.log('Fastest is ' + this.filter('fastest').pluck('name'));
  })
  .run();

从而删除调用thunkify

代码语言:txt
AI代码解释
复制
thunkify#fast x 18,910,556 ops/sec ±0.61% (100 runs sampled)
thunkify#slow x 5,148,036 ops/sec ±0.40% (100 runs sampled)
代码语言:txt
AI代码解释
复制
thunkify#fast x 19,485,652 ops/sec ±1.27% (99 runs sampled)
thunkify#slow x 1,608,235 ops/sec ±3.37% (93 runs sampled)

回答 2

农民工求助

发布于 2018-02-12 01:13:43

以下是Mozilla关于JavaScript严格模式的文章引用

在使用严格模式的时候有一定的性能提升。

鲁大师

发布于 2018-02-12 00:36:59

原因是在ArraySlice内建的这个检查中。测试我们是否试图切片参数对象,如果我们这样做,然后使用快速代码来做到这一点

和开发者交流更多问题细节吧,去 写回答
相关文章
如何使用postman做接口测试
Postman: 简单方便的接口调试工具,便于分享和协作。具有接口调试,接口集管理,环境配置,参数化,断言,批量执行,录制接口,Mock Server, 接口文档, 接口监控等功能;
伤心的辣条
2022/09/08
1.8K0
如何使用postman做接口测试
如何使用GraphCrawler测试GraphQL节点的安全
GraphCrawler是一款功能强大的自动化安全测试工具,在该工具的帮助下,广大研究人员可以轻松对任意GraphQL节点进行安全测试。
FB客服
2022/11/14
1.6K0
如何使用GraphCrawler测试GraphQL节点的安全
如何使用GraphQLmap对GraphQL节点进行渗透测试
GraphQLmap是一个可以跟GraphQL节点交互的脚本引擎,广大研究人员可以使用GraphQLmap来针对GraphQL节点进行渗透测试和安全研究。
FB客服
2021/07/02
2.2K0
使用Postman工具做接口测试(一)——基本功能介绍
  在上一篇笔记我们主要介绍了接口测试的基础知识,本章主要介绍如何使用postman基本功能。
全栈测试开发日记
2023/02/02
8900
使用Postman工具做接口测试(一)——基本功能介绍
[日常] Redis基本使用测试
Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel)和集群(Cluster)提供高可用性(high availability)。
唯一Chat
2019/09/10
7220
如何使用开源测试工具RunnerGo做自动化测试
RunnerGo支持自动化测试功能,其工作流程是:接口管理-场景管理-性能测试-自动化测试,所以自动化测试的运行内容为场景下的用例,可以在“场景管理”中预先配置好该场景下的用例,也可以在自动化测试中创建用例。
当家测试
2023/03/31
6770
如何做接口测试?
经常有后端开发会问,后端接口都测试什么?怎么测?简单梳理了一下接口测试的相关内容:
用户5521279
2019/08/19
1.1K0
如何做接口测试?
如何做接口测试?
今天来聊聊接口测试,现在是2020年了,打开招聘网站随便点开一个招聘帖子,几乎都可以看到岗位JD要求写着有接口测试经验优先。其重要性可见一斑!
测试小牛
2022/04/26
5640
如何做APP测试?
到今天为止,移动互联网已经走过了十个年头。虽然,行业红利早已经过去,但是移动端依旧是大厂纷纷争抢的流量入口。
测试小牛
2022/04/25
7130
使用Postman做mock测试
在左上角有一个New,点开后会有下拉列表展示,选择里面的Mock Server
全栈程序员站长
2022/08/31
9050
使用Postman做mock测试
使用ab做性能测试
安装ab apt install -y apache2-utils 开始测试 ab -t 5 -c 1000 "http://127.0.0.1:8000/dynamic_hello?hello=yz
超级大猪
2019/11/22
4860
【实践】2.如何使用Postman做多接口测试
本文讲解使用postman做接口测试和批量接口测试的方法。Postman的入门参考《【知识】1.Postman接口测试神器从安装到精通》
辉哥
2021/04/16
2.6K0
【实践】2.如何使用Postman做多接口测试
Python 如何使用 HttpRunner 做接口自动化测试
UI 测试主要是为了取代人力操作,通过 UI 自动化去模拟操作,降低回归测试的成本
AirPython
2020/09/22
2.4K0
Python 如何使用 HttpRunner 做接口自动化测试
如何快速做跨业务测试?
当业务任务多且人力资源不充足的情况下,不同业务的同学可能需要去不同的业务进行临时支援,可能在时间方面有长有短,但是如何迈出第一步是很多人需要关心的一件事。
用户10443079
2023/03/22
2890
如何快速做跨业务测试?
Unittest测试框架基本使用[通俗易懂]
1、UintTest是python内置的单元测试框架,具备编写用例、组织用例、执行用例、输出报告等自动化框架的条件
全栈程序员站长
2022/11/04
5030
如何做 APP 更新测试 ?
昨天阿常和大家分享了 APP 的安装测试,卸载功能因为是系统做的,而不是应用实现的,所以不需要做特别的测试。今天我们继续聊聊 APP 的更新测试。
程序媛淼淼
2022/09/01
8450
如何做API接口测试?
经常有后端开发会问,后端接口都测试什么?怎么测?简单梳理了一下接口测试的相关内容:
软测小生
2019/08/21
16.1K1
如何做API接口测试?
在用Mockito做单元测试时如何使用doAnswer…when
刚使用Mockito来做Java项目的单元测试时,对doAnswer…when的使用场合不怎么理解,查了Mockito的官方文档和网上的各种资料,感觉都说得不够清楚。后来自己用它在项目中做了些unit tests,终于弄明白了。
疯狂软件李刚
2020/06/24
12.5K0
如何做 APP 安装测试 ?
阿常回答:这个问题我分别从 1、安装方式;2、安装平台;3、正常流程安装;4、异常流程安装 这四个方面来回答。
程序媛淼淼
2022/09/01
8290
使用JMeter做MongoDB性能测试
对大多数应用环境来说,数据库是一个关键要素。如何存储数据以及在哪里存储数据,对整个系统的性能会产生巨大影响。因此,在做开发之前,数据库的选择肯定是最重要的决定之一。对数据库进行性能测试有助于你达成此项决定,这也是你在开发过程中的一项重要工作。
MongoDB中文社区
2019/09/29
3.2K0
使用JMeter做MongoDB性能测试

相似问题

TKE的超级节点和使用CVM做节点的价格哪个划算?

2244

测试版本没有外网,怎么做云测试?

2274

做微信小程序的项目测试,个人可以使用么?

2453

请教使用github做frambot??

071

benchamarksql做mysql的TPCC测试1000仓数据报错?

0512
交个朋友
加入腾讯云官网粉丝站
蹲全网底价单品 享第一手活动信息
相关问答用户
中建数科 | 技术总监架构部总经理擅长3个领域
公司公司公司公司公司公司 | 职务职务职务职务职务职务擅长3个领域
腾讯云TDP | 先锋会员擅长2个领域
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档