股票杠杆是什么意思啊-股票稳赚不赔 抢红包-【东方资本】,股票第一天第二天可以卖吗,股票怎么开通杠杆账户,买什么股票最安全挣钱哪里找

請輸入關(guān)鍵字
您需要AI互聯(lián)網(wǎng)
顧問提供專業(yè)咨詢
AI人工智能 · VR · AR · 智慧博物館 · 智慧公園 · 景區(qū) · 文創(chuàng) · 動(dòng)畫 · 游戲 · 年度運(yùn)營
大模型定制 · WEB3 · 元宇宙 · 區(qū)塊鏈 · 高端網(wǎng)站建設(shè) · 小程序 · APP · 微信 · H5 · 電商
C語言程序編輯中快程序速度的方法
2017.04.13
  由于C語言編譯出來的程序,不是最有效率的匯編語言,它沒有辦法達(dá)到實(shí)時(shí)播放。所以程序員為了要使程序執(zhí)行的速度能夠加快,以最佳化的狀態(tài)使其能夠達(dá)到實(shí)時(shí)播放的速度。

  C6x的編譯器提供了最佳化的指令,如在編譯時(shí)加上-o3的參數(shù),就可以用軟件來分析程序員的程序是否有可以改進(jìn)的地方。如此一來,在產(chǎn)生組語的匯編語言檔案之前,編譯器就會(huì)對(duì)程序員所寫的C語言程序不斷的進(jìn)行編譯,也會(huì)對(duì)程序中的循環(huán)部份重新編排,產(chǎn)生另一較有效率的核心循環(huán),以最有效率的方式重新編排程序,來加快程序速度。


C語言程序編輯中快程序速度的方法


  下面分形科技就為在家介紹一下C語言程序編輯中快程序速度的方法


  方法一、把浮點(diǎn)運(yùn)算改成定點(diǎn)運(yùn)算


  因?yàn)镃6x DSP板并不支持浮點(diǎn)運(yùn)算,但我們的原始程序代碼是浮點(diǎn)運(yùn)算的格式,所以必須改成定點(diǎn)運(yùn)算,修改后的執(zhí)行速度也會(huì)加快很多。我們可以采用Q-format規(guī)格來表示浮點(diǎn)運(yùn)算。


  Q-format的相關(guān)原理是:定點(diǎn)DSP使用固定的小數(shù)點(diǎn)來表示小數(shù)部份的數(shù)字,這也造成了使用上的限制,為了要分類不同范圍的小數(shù)點(diǎn),我們必須使用Q-format的格式。

  方法二、建立表格(table)

  原來程序的設(shè)計(jì)是除了要讀AAC的檔案外,在譯碼時(shí),還要再另外讀取一些C語言程序代碼的內(nèi)容再做計(jì)算,如讀取一些數(shù)值做sin、cos、exp的運(yùn)算,但是為了加快程序的執(zhí)行速度,故將這這些運(yùn)算的結(jié)果建成表格,內(nèi)建在程序中,可以不必再做額外的計(jì)算動(dòng)做,以加速程序。

  方法三、減短程序的長度

  1、去除Debug的功能

  原本程序在Debug的階段時(shí),就加了許多用來偵測錯(cuò)誤的部份,程序Debug完后,已經(jīng)沒有錯(cuò)誤發(fā)生,所以就可以把這些部份給去除,以減少程序的長度,也可以減少程序執(zhí)行時(shí)的時(shí)脈數(shù),加快程序的速度。

  2、去除計(jì)算時(shí)脈(clock)功能

  原本程序可以計(jì)算執(zhí)行程序所需的時(shí)脈數(shù),我們也可以把這些部份給去除,如果有需要計(jì)算時(shí)脈時(shí),我們可以用C6x的工具軟件來作,功能更強(qiáng)大。

  方法四、減少I/O 過程

  原本在做譯碼的動(dòng)作時(shí),是先讀取AAC檔案的一部份做譯碼,譯碼完成后再讀取下一部份,再做譯碼。由于C6x的板子跟PC做檔案讀取時(shí)相當(dāng)?shù)木徛x取的動(dòng)作占了大部份的時(shí)間,所以就將程序改成先將AAC檔案全部讀到C6x的內(nèi)存中,再做譯碼。或是將AAC建成表格(約1MB),以避免DSP板上的內(nèi)存不足。

  方法五、減少子程序的呼叫

  在呼叫子程序時(shí),必須先將緩存器的內(nèi)容放到堆棧(stack)中,而從子程序返回時(shí),也要將這些緩存器原本的內(nèi)容從堆棧中取出來。但是有些子程序的長度很短,而且被呼叫的次數(shù)又很多,往往幾個(gè)時(shí)脈就可以完成卻浪費(fèi)時(shí)間在存取堆棧的內(nèi)容上,所以干脆將這些很短的子程序直接寫在主程序當(dāng)中,以減少時(shí)脈數(shù)。

  方法六、寫匯編語言

  雖然由C語言所編譯出來的匯編語言可以正確無誤的執(zhí)行,但是這個(gè)匯編語言卻不是最有效率的寫法,所以為了增加程序的效率,于是在某些地方,例如一些被呼叫很多次且程序代碼不長的函式(function),必須改以自己動(dòng)手寫匯編語言來取代。

  方法七、利用平行處理的觀念

  C6x是一顆功能強(qiáng)大的處理器,它CPU的內(nèi)部提供了八個(gè)可以執(zhí)行不同指令的單元,也就是說最多可以同時(shí)處理八個(gè)指令。所以如果我們可以用它來作平行處理,我們就可以大大的縮短程序執(zhí)行的時(shí)間,最有效率的來利用它來作解碼的動(dòng)作。  
讓決策變的簡單
好的開始是成功的一半