摘要:我用替換已經(jīng)有一段時(shí)間了。更快,支持,并且擁有所缺乏的特性。這真是太棒了同樣聲稱類似,但是使用惰性求值,并發(fā)布了一些令人印象深刻的速度比較。如果你使用,不管在哪里使用包括,你應(yīng)該花上幾分鐘切換到。
我用Lo-Dash替換Underscore已經(jīng)有一段時(shí)間了。Lo-Dash更快,支持AMD,并且擁有Underscore所缺乏的特性。同時(shí),Lo-Dash和Underscore是100%兼容的,所以如果你使用依賴Underscore的庫(kù)(例如Backbone),或者你現(xiàn)有的代碼已經(jīng)使用了Underscore,那么只需改用Lo-Dash,立刻就能獲得性能上的優(yōu)勢(shì)。這真是太棒了!
lazy.js同樣聲稱“類似Underscore,但是使用惰性求值”,并發(fā)布了一些令人印象深刻的速度比較。這已經(jīng)足夠引起人們的興趣了,而且lazy.js看上去就是一個(gè)有趣的庫(kù)。但是我想提醒大家注意一些事實(shí)。
讓我們看看lazy.js上的第一個(gè)速度比較的圖片:
Lazy.js的速度相當(dāng)?shù)亓钊擞∠笊羁?,但是你也?yīng)該注意到 Lo-Dash 同樣比 Underscore 高得多。 大概是四五倍,甚至更多?,F(xiàn)在看看左邊的數(shù)據(jù),那是每秒能完成的操作。這些柱狀圖形很小,但是它們代表的數(shù)字可是相當(dāng)巨大!那是每秒幾十萬(wàn)次操作和每秒幾百萬(wàn)次操作的差距。
是的,Lazy.js要快得多,但是Lo-Dash也比Underscore要快得多,而且最重要的是 Lo-Dash 可以直接替換 Underscore,不會(huì)帶來(lái)兼容性問(wèn)題。
沒(méi)有什么值得爭(zhēng)論的。如果你使用Underscore,不管在哪里使用(包括 Node.js),你應(yīng)該花上幾分鐘切換到 Lo-Dash。沒(méi)有任何理由不這么做。相反,有很多非常好的理由讓你這么做(最主要的是速度的提升)。這些好處唾手可得。
呃,我是不是忘了說(shuō)了,Lo-Dash以后也會(huì)有惰性求值。
英文 Use Lo-Dash Instead of Underscore
翻譯 SegmentFault
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/77987.html
摘要:遍歷集合,對(duì)集合中的每個(gè)元素執(zhí)行回調(diào)。因此,上面的判斷等價(jià)于是預(yù)先定義的空對(duì)象,內(nèi)部用于提前結(jié)束循環(huán)的標(biāo)志,并沒(méi)有對(duì)外公開(kāi)。 _.each 遍歷集合,對(duì)集合中的每個(gè)元素執(zhí)行回調(diào)。 API Lo-Dash _.forEach(collection [, callback=identity, thisArg]) Aliases each Arguments collection (Arr...
摘要:一場(chǎng)恩怨,一段紛爭(zhēng),一段歷史。后來(lái)崛起,并內(nèi)置了庫(kù),從此一炮而紅??梢?jiàn),前端大戰(zhàn)以的完勝而告終。無(wú)疑,在目前瀏覽器不完全兼容的情況下,提供的是操作的最佳選擇。然而社區(qū)的意見(jiàn)偏向于,是唯一選擇。的貢獻(xiàn)者認(rèn)為,現(xiàn)狀不會(huì)改變。 這幾天更新我的之前寫(xiě)的 Chrome 插件 ChromeSnifferPlus 可以探測(cè)正在使用的開(kāi)源軟件或者 js 類庫(kù),兩天的時(shí)間增加了 20 多個(gè) js 庫(kù)的檢...
摘要:提供如下函數(shù),很是方便提供了常用的函數(shù)。建議使用,性能優(yōu)異很多的實(shí)現(xiàn)。補(bǔ)充了缺少的對(duì)字符串的操作,不過(guò)有些其實(shí)原生就帶了。與配合使用無(wú)壓力。其他語(yǔ)言被移植到了其他語(yǔ)言,例如和。 underscore提供如下函數(shù),很是方便: Underscore 提供了常用的函數(shù)。 Collections each map reduce reduceRight find filter whe...
摘要:主要區(qū)別是需要在聲明模塊時(shí)指定所有的依賴,通過(guò)形參傳遞依賴到模塊內(nèi)容中。 前言 昨天,公司同事問(wèn)了我如下一個(gè)問(wèn)題: showImg(https://segmentfault.com/img/bVWXYP?w=548&h=346); 說(shuō)他在看一個(gè)插件時(shí),看到了源碼結(jié)構(gòu)如截圖所示,他知道(function(){})()是一種立即執(zhí)行函數(shù),但是在截圖中,最后的那個(gè)圓括號(hào)里又寫(xiě)了一個(gè)函數(shù)fun...
摘要:原文作者譯文如何百倍加速引入惰性計(jì)算譯者我一直以為像這樣的庫(kù)已經(jīng)不能再快了,畢竟它們已經(jīng)足夠快了。函數(shù)返回價(jià)格低于的所有元素。延遲執(zhí)行和惰性計(jì)算一起使用的是延遲執(zhí)行。懶惰計(jì)算并不是行業(yè)里的新理念。 原文:How to Speed Up Lo-Dash ×100? Introducing Lazy Evaluation. 作者: Filip Zawada 譯文:如何百倍加速 Lo-Da...
閱讀 1288·2023-04-25 20:31
閱讀 3780·2021-10-14 09:42
閱讀 1563·2021-09-22 16:06
閱讀 2761·2021-09-10 10:50
閱讀 3624·2021-09-07 10:19
閱讀 1868·2019-08-30 15:53
閱讀 1243·2019-08-29 15:13
閱讀 2888·2019-08-29 13:20