成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

優(yōu)化循環(huán)的方法-循環(huán)展開(kāi)

xiaochao / 3497人閱讀

摘要:更多文章循環(huán)展開(kāi)是一種程序變換,通過(guò)增加每次迭代計(jì)算的元素的數(shù)量,減少循環(huán)的迭代次數(shù)。用代碼來(lái)說(shuō)明就是將替換為循環(huán)展開(kāi)對(duì)于算術(shù)運(yùn)算來(lái)說(shuō),優(yōu)化的作用是很大的。

更多文章

循環(huán)展開(kāi)是一種程序變換,通過(guò)增加每次迭代計(jì)算的元素的數(shù)量,減少循環(huán)的迭代次數(shù)。

用代碼來(lái)說(shuō)明就是將

for (i = 0; i < len; i++) {
    sum += arry[i]
}

替換為

for (i = 0; i < len; i += 2) {
    newSum += arry[i] + arry[i + 1]
}

循環(huán)展開(kāi)對(duì)于算術(shù)運(yùn)算來(lái)說(shuō),優(yōu)化的作用是很大的。我分別對(duì)整數(shù)運(yùn)算和浮點(diǎn)數(shù)運(yùn)算作了多次測(cè)試,得出表格如下:

操作 整數(shù) 整數(shù)(優(yōu)化后) 浮點(diǎn)數(shù) 浮點(diǎn)數(shù)(優(yōu)化后)
+ 360 163 354 164
- 379 167 341 177
* 350 160 364 163
/ 118 57 152 63
測(cè)試環(huán)境

cpu:i5-7400

瀏覽器: chrome 70.0.3538.110

運(yùn)算是用了1千萬(wàn)個(gè)數(shù),取值是運(yùn)行十次測(cè)試得出的平均數(shù)。附上加法測(cè)試的代碼

const arry = []
let num = 10000000
while (num) {
    arry.push(num)
    num--
}

let sum = 0
let last = new Date()
let i 
let len = arry.length
for (i = 0; i < len; i++) {
    sum += arry[i]
}
let now = new Date()

console.log(now - last)

let newSum = 0
last = new Date()
for (i = 0; i < len; i += 2) {
    newSum += arry[i] + arry[i + 1]
}
now = new Date()

console.log(now - last)
console.log(sum, newSum)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/101093.html

相關(guān)文章

  • 基于CPS變換尾遞歸轉(zhuǎn)換算法

    摘要:一個(gè)解決的辦法是從算法上解決,把遞歸算法改良成只依賴于少數(shù)狀態(tài)的迭代算法,然而此事知易行難,線性遞歸還容易,樹(shù)狀遞歸就難以轉(zhuǎn)化了,而且并不是所有遞歸算法都有非遞歸實(shí)現(xiàn)。 前言 眾所周知,遞歸函數(shù)容易爆棧,究其原因,便是函數(shù)調(diào)用前需要先將參數(shù)、運(yùn)行狀態(tài)壓棧,而遞歸則會(huì)導(dǎo)致函數(shù)的多次無(wú)返回調(diào)用,參數(shù)、狀態(tài)積壓在棧上,最終耗盡棧空間。 一個(gè)解決的辦法是從算法上解決,把遞歸算法改良成只依賴于少...

    supernavy 評(píng)論0 收藏0
  • web性能優(yōu)化--高性能javascript

    摘要:用局部變量存儲(chǔ)本地范圍之外的變量值,如果它們?cè)诤瘮?shù)中的使用多于一次。將它的值存入一個(gè)局部變量,消除一次搜索過(guò)程。地將此值存入一個(gè)局部變量中。 總結(jié)了一下《高性能javascript》書(shū)中比較核心的點(diǎn),并補(bǔ)充了一些點(diǎn)。 第一章 DOM標(biāo)簽 將所有 標(biāo)簽放置在頁(yè)面的底部,緊靠 body 關(guān)閉標(biāo)簽的上方。此法可以保證頁(yè)面在腳本 運(yùn)行之前完成解析。 將腳本成組打包。頁(yè)面的 標(biāo)簽越少,頁(yè)面的加...

    ytwman 評(píng)論0 收藏0
  • [ JS 進(jìn)階 ] 如何改進(jìn)代碼性能 (3)

    摘要:這樣就改進(jìn)了代碼的性能,看代碼將保存在局部變量中所以啊,我們?cè)陂_(kāi)發(fā)中,如果在函數(shù)中會(huì)經(jīng)常用到全局變量,把它保存在局部變量中避免使用語(yǔ)句用語(yǔ)句延長(zhǎng)了作用域,查找變量同樣費(fèi)時(shí)間,這個(gè)我們一般不會(huì)用到,所以不展開(kāi)了。 本來(lái)在那片編寫(xiě)可維護(hù)性代碼文章后就要總結(jié)這篇代碼性能文章的,耽擱了幾天,本來(lái)也是決定每天都要更新一篇文章的,因?yàn)橐郧扒废绿鄸|西沒(méi)總結(jié),學(xué)過(guò)的東西沒(méi)去總結(jié)真的很快就忘記了...

    young.li 評(píng)論0 收藏0
  • 前端性能優(yōu)化指南

    摘要:前端性能優(yōu)化指南優(yōu)化緩存異步并不等于即時(shí)。操作性能問(wèn)題主要有以下原因。發(fā)生在之前,所以相對(duì)來(lái)說(shuō)會(huì)造成更多性能損耗。新引擎還對(duì)對(duì)象屬性訪問(wèn)做了優(yōu)化,解決方案叫,簡(jiǎn)稱。代價(jià)是前置的掃描類型編譯優(yōu)化。數(shù)組,,閉包變量不在優(yōu)化范疇之列。 前端性能優(yōu)化指南 AJAX優(yōu)化 緩存AJAX: 異步并不等于即時(shí)。 請(qǐng)求使用GET: 當(dāng)使用XMLHttpRequest時(shí),而URL長(zhǎng)度不到2K...

    Pink 評(píng)論0 收藏0
  • (一)線性循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)

    摘要:線性循環(huán)神經(jīng)網(wǎng)絡(luò)這部分教程我們來(lái)設(shè)計(jì)一個(gè)簡(jiǎn)單的模型,這個(gè)模型的輸入是一個(gè)二進(jìn)制的數(shù)據(jù)流,任務(wù)是去計(jì)算這個(gè)二進(jìn)制的數(shù)據(jù)流中存在幾個(gè)。 作者:chen_h微信號(hào) & QQ:862251340微信公眾號(hào):coderpai簡(jiǎn)書(shū)地址:https://www.jianshu.com/p/160... 這篇教程是翻譯Peter Roelants寫(xiě)的循環(huán)神經(jīng)網(wǎng)絡(luò)教程,作者已經(jīng)授權(quán)翻譯,這是原文。 該...

    zilu 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<