资讯专栏INFORMATION COLUMN

js中性能更好的在数组头部插入大量数据

codercao / 1774人阅读

摘要:今天闲着无聊测试了一下数组方法的性能发现当数组的长度大于的时候整个页面会出于比较长的卡死状态,故试着写了个性能更好的方法来实现批量在数组头部插入数据和原生的性能比较测试代码如下测试中发现当数据量小于三百的时候,使用性能更好小数据量的时

今天闲着无聊测试了一下js数组splice方法的性能发现:当数组的长度大于100000的时候整个页面会出于比较长的卡死状态,故试着写了个性能更好的方法来实现批量在数组头部插入数据:

let splice = function (arr) {
    let cache = arr || []
    return {
        add: function (value) {
            cache.push(value)
        },
        get: function () {
            return cache.reverse()
        }
    }
}

和ramda、原生splice的性能比较:

测试代码如下:


测试中发现当数据量小于三百的时候,使用splice性能更好;小数据量的时候ramda的prepend方法性能也是最差的。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/107273.html

相关文章

  • 高性javascript小结

    摘要:高性能小结文章转载于我的博客最近看完了动物丛书的高性能,觉得那本书的小结部分写得非常不错,简洁轻快易懂概括性很强。由于局部变量存在于作用域链的起始位置,因此访问局部变量比访问跨作用域变量更快。 高性能javascript小结 文章转载于我的CSDN博客:http://blog.csdn.net/hello_world_20/article/details/46793317 最近看完了动...

    wujl596 评论0 收藏0
  • 我的面试准备过程--排序算法(更新中)

    摘要:通常情况下,快速排序的时间复杂度为,但在最坏情况下它的时间复杂度会退化至,不过我们可以通过对输入数组进行随机化打乱元素的排列顺序来避免最坏情况的发生。 写在最前面 导师贪腐出逃美国,两年未归,可怜了我。拿了小米和美团的offer,要被延期,offer失效,工作重新找。把准备过程纪录下来,共勉。 冒泡算法 最初级 public void bubbleSort(int[] a){ ...

    Karrdy 评论0 收藏0
  • Java 常用List集合使用场景分析

    摘要:常用集合使用场景分析过年前的最后一篇,本章通过介绍,,,底层实现原理和四个集合的区别。和都是线程安全的,不同的是前者使用类,后者使用关键字。面试官会认为你是一个基础扎实,内功深厚的人才到这里常用集合使用场景分析就结束了。 Java 常用List集合使用场景分析 过年前的最后一篇,本章通过介绍ArrayList,LinkedList,Vector,CopyOnWriteArrayList...

    godruoyi 评论0 收藏0
  • Java 集合 Queue

    摘要:除此之外,还有一个接口,代表一个双端队列,双端队列可以同时从两端删除添加元素,因此的实现类既可当成队列使用,也可当成栈使用。相当于栈方法将一个元素进该双端队列所表示的栈的栈顶。 Queue用于模拟队列这种数据结构,队列通常是指先进先出(FIFO)的容器。队列的头部保存在队列中存放时间最长的元素,队列的尾部保存在队列中存放时间最短的元素。新元素插入(offer)到队列的尾部,访问元素(p...

    bang590 评论0 收藏0
  • 前端面试题总结——综合问题(持续更新中)

    摘要:如何实现浏览器内多个标签页之间的通信阿里调用等本地存储方式页面可见性可以有哪些用途通过的值检测页面当前是否可见,以及打开网页的时间等在页面被切换到其他后台进程的时候,自动暂停音乐或视频的播放网页验证码是干嘛的,是为了解决什么安全问题。 前端面试题总结——综合问题(持续更新中) 1.页面从输入URL到页面加载显示完成,这个过程中都发生了什么?(流程说的越详细越好) 1.输入域名地址2.发...

    Lin_YT 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<