freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

算法合集之論反匯編在時(shí)間常數(shù)優(yōu)化中的應(yīng)用-文庫(kù)吧在線文庫(kù)

  

【正文】 賽中,漸進(jìn)時(shí)間復(fù)雜度是人們關(guān)注的重點(diǎn),而同樣能夠決定程序運(yùn)行快慢的常數(shù)因子優(yōu)化問(wèn)題卻缺乏重視。j10。 char field[Total/Time]。 } 分析 memset(table,0,sizeof(table))。a,intamp。 return 0。a,intamp。所以大多數(shù)情況下編譯器都能將常數(shù)除法轉(zhuǎn)化為快得多的位運(yùn)算。 二、除法(求余)的優(yōu)化 正確的方法是, 判斷出特殊性, 使用手工的優(yōu)化方式, 如: 優(yōu)化后的代碼: const a[]={1,2,4,8,16,32,64,128,256,512,1024,2048,4096}。 ? 數(shù)組定義: a[10][10] ? Debug模式下,對(duì)數(shù)組的取值操作使用了 imul運(yùn)算( Release模式編譯時(shí)會(huì)進(jìn)行和乘法運(yùn)算相同的優(yōu)化): return a[i][j]。 00411A4C mov eax,dword ptr [go] 00411A51 mov ecx,dword ptr [ptr] 00411A57 lea edx,[ecx+eax*4] 00411A5A mov dword ptr [ptr2],edx return *ptr2。問(wèn)物體最多能運(yùn)動(dòng)的長(zhǎng)度。 ? 雖然最終還是使用“批處理化”的思想,但是這種方法沒(méi)有把精力用在漸進(jìn)復(fù)雜度的優(yōu)化上,而轉(zhuǎn)向到了具體的實(shí)現(xiàn)上。 ? 上述幾個(gè)實(shí)例展現(xiàn)了反匯編在常數(shù)因子優(yōu)化中的應(yīng)用。 ? 對(duì)障礙判斷的實(shí)現(xiàn)可以用統(tǒng)一變量格式實(shí)現(xiàn)。 ? 無(wú)論用什么方法,都必經(jīng)一個(gè)關(guān)鍵步驟,這就是在不同的時(shí)間點(diǎn)間進(jìn)行狀態(tài)轉(zhuǎn)移,并且,都要將這一步“批處理”化。 ? 讓我們通過(guò)一個(gè)例子來(lái)了解這種優(yōu)化的作用。 定義表和指針: int table[200][200]。 原始代碼: const a[]={1,2,4,8,16,32,64,128,256,512,1024,2048,4096}。這在代碼中直接反映為冗余的匯編代碼。} 盡管沒(méi)有 inline關(guān)鍵字,在反匯編中已經(jīng)看不到對(duì)swap的調(diào)用了 ?正因?yàn)檫@樣,在 Debug模式和Release模式下, stl庫(kù)的運(yùn)行效率才會(huì)有巨大的差別。 0040105E mov dword ptr [esp+8],eax a*=b。} 測(cè)試代碼: swap(a,b)。 00401001 xor eax,eax 00401003 mov ecx,9C40h 00401008 mov edi,offset table 0040100D rep stos dword ptr [edi] Windows分配內(nèi)存 第一層循環(huán) 第二層循環(huán) 額外匯編語(yǔ)句 (push call ret mov xor) 真正作業(yè) (rep stos) 分析 常數(shù)因子優(yōu)化 代碼常數(shù)因子優(yōu)化 本質(zhì)常數(shù)因子優(yōu)化 高級(jí)語(yǔ)言 思路 機(jī)器代碼 反匯編 應(yīng)用思想 時(shí)間常數(shù)歸類 層次 運(yùn)算 比例時(shí)間 1.
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1