Skip to content

Latest commit

 

History

History
85 lines (47 loc) · 1.47 KB

README_zh.md

File metadata and controls

85 lines (47 loc) · 1.47 KB

async-sync

一个基于Gulp的测试异步(并行)和同步(串行)性能对比的测试项目


EN-README Please move to: Documentation


描述

这里一共有2000个文件,每个文件有100行,一共20w行,每一行都需要处理。

Async()采用promise.all()对所有文件并行修改,以最后一个文件修改结束为终点;

Sync()采用Generator控制同步,文件串行修改,即后一个文件的读写会等待前一个文件的读写结束

耗时结果测试如下:

Async

Sync

  • 这差距也太大了吧 !!!!
  • 这差距也太大了吧 !!!!
  • 这差距也太大了吧 !!!!

本地测试

可以clone本项目在你的本机上进行测试:

$ git clone https://github.com/toxichl/async-sync.git

安装依赖:

$ npm i 

说明:本测试是基于Gulp的,可以考虑全局安装一下Gulp。

初始化,如果存在旧的测试文件则删除,然后生成测试文件:

$ gulp init

异步(并行)测试:

$ gulp async

同步(串行)测试:

$ gulp sync

删除旧的测试文件:

$ gulp del

结论

某些允许使用并行控制的情况下,请尽量使用并行,以提高程序性能。