編程技巧—節省空間的

來源:互聯網
上載者:User
資料空間技術       ----如何減少程式所需要資料的儲存空間的技術   1,不儲存,重新計算。    如果我們在需要某一個給定對象的任何時候,都對其進行重新計算而不儲存,就可以減少該對象所需的空間。該方法用計算時間換空間,只使用於需要儲存的對象可以根據其描述重新計算得到的情況。  2,稀疏資料結構    例1:疏鬆陣列的的儲存(很多個0,或其他相同的項)。   例2:使用指標來共用大型物件可以消除儲存同一對象的眾多副本所需要的開銷(數組參數的傳遞),程式員在修改共用對象時必須小心謹慎地確保該對象的所有擁有者都希望修改。    例3:儲存1970-2070之間的日曆,並不需要儲存每一年不同的日曆。而只需要給出14個標準日曆(對任意一年,1月1日星期幾隻有7種可能,閏年還是非閏年只有兩種可能)以及一個為1970-2070年每一年提供日曆編號的表。  3,資料壓縮    通過壓縮的方式對對象進行編碼,以減少儲存空間。   例1:使用標準的壓縮演算法  例2:根據特定的應用環境,如10進位數字串的處理,可將兩個10進位數壓縮到一個位元組儲存。  編碼:c = a * 10 + b;  解碼:a = c / 10;  b = c % 10;    4, 分配策略    動態按需分配,按照需求量來請求資料空間,而不是預先分配。  5,記憶體回收    對廢棄的儲存空間進行回收再利用,從而那些不用的位就可以重新使用了。    例1:對某些欄位沒有使用的位進行再利用。如linux基樹實現中利用整型地址值(能被4整除)的低兩位。   資料空間技術       ----如何減少程式碼所佔的儲存空間   1,函數定義         通過用函數替換代碼中的常見模式,減少了空間需求,並增加了清晰性。     微虛刪除了很少使用的函數,將它的整個windows壓縮為更加緊湊的Windows CE,使其在具有更小記憶體的“移動計算平台”上運行。  2,解釋程式      在圖形程式中,使用4個位元組的解釋程式替換一長行的程式文本。   使用“格式信函編程的”的解釋程式。  3,翻譯成機器語言     將源語言轉換成機器語言。   將關鍵區段用彙編實現。 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.