Imutable 使用withMutations 提升性能
来源:互联网 发布:淘宝耐克正品折扣店 编辑:程序博客网 时间:2024/06/06 17:24
参考文档https://stackoverflow.com/questions/28510753/when-should-i-use-withmutations-on-a-map-in-immutable-js
https://facebook.github.io/immutable-js/
withMutations 主要用来提升性能,将需要多次创建的Imutable合并成一次。主要使用在需要对imutable 需要进行多次中间操作,最终返回一个Imutable的情况下
入门demo
const { List } = require('immutable')const list1 = List([1, 2, 3]);var list2 = list1.withMutations(function (list) { // 经过优化,会合并中间装填,仅仅会生成最后一次Imutable list.push(4).push(5).push(6);});// 每一个push会生成一个新的Imutablevar list3 = list1.push(4).push(5).push(6);console.log(list2.equals(list3))
从demo中可以看出 通过withMutations似乎和直接操作list 的效果是一样的,但是性能是不同的。
性能对比,可以看到直接操作list1 ,用时35毫秒,使用withMutations 优化后耗时10毫秒
const { List } = require('immutable') const list1 = List([1, 2, 3]);console.time("ori");for (var i = 0; i < 10000; i++) { var list3 = list1.push(4).push(5).push(6);}console.timeEnd("ori");console.time("withMutations");for (var j = 0; j < 10000; j++) { var list2 = list1.withMutations(function (list) { list.push(4).push(5).push(6); });}console.timeEnd("withMutations");
阅读全文
0 0
- Imutable 使用withMutations 提升性能
- 使用combiner提升性能
- 使用sendfile提升性能
- 使用NIO提升性能
- 使用EHCache提升网站性能
- 使用tcmalloc提升mysql性能
- 使用EHCache提升网站性能
- 使用EHCache提升网站性能
- 性能提升----使用线程池
- 使用 memcached 提升站点性能
- 使用 ContentProviderOperation 来提升性能
- 使用 OpCache 提升 PHP 性能
- 使用 ContentProviderOperation 来提升性能
- 使用 ContentProviderOperation 来提升性能
- 使用 ContentProviderOperation 来提升性能
- Hadoop 使用combiner提升性能
- 使用noatime提升文件系统性能
- 使用tcmalloc提升mysql性能
- OpenGL中常用函数详解和VBO VAO详解以及VAO的使用
- OTN承载网
- 学习笔记之面向对象编程9(异常的捕获和处理)
- java 文件删除问题
- jQuery选择器
- Imutable 使用withMutations 提升性能
- Mybatis调用存储过程
- Access Denied for user root @localhost 解决方案
- Mysql之视图问题
- 每周荐书:Java Web、Python极客编程、移动Web前端(评论送书)
- 慈善拍卖师灵锋,点亮胡润马道
- Echarts与ajax的联合使用
- ERP项目3_部门管理
- Linux的文件上传和下载之一CentOS下的lrzsz组件安装和使用