當前位置:首頁 » 文件管理 » c緩存程序效率怎麼設置

c緩存程序效率怎麼設置

發布時間: 2023-02-11 02:14:37

❶ C/C++寫一個提高mysql資料庫效率的數據緩存模塊

你說的「緩存模塊」提供數據訪問的介面,其他程序通過「緩存模塊」獲取數據,不直接訪問資料庫;這些不是ODBC驅動的所提供的嗎?不實用第三方組件,幸虧是mysql。mysql資料庫自己實現了C語言訪問數據的資料庫文件,sql.h文件,你的項目中加入這個文件,用人家提供的函數訪問資料庫。

❷ 如何設置緩存

在選項-磁碟緩存中,最好把磁碟緩存的最小值和最大值設成一樣,你內存較小,為給其他程序多留點內存,設成16M就夠了,「減少緩存當空閑物理內存低於多少」是為了在可用物理內存較少時,把分給磁碟緩存的內存拿出來給其他程序用,而不影響其他程序的運行。
------------------
虛擬緩存的設置方法可以在system.ini中設置。下面就來介紹一下如何在
system.ini中操作。首先在「開始」中「運行」system.ini。然後在文件中查找「[vcache]」,然後鍵入以下信息:
MinFileCache=...
MaxFileCache=...
Chunksize=...
NameCache=...
DirectoryCache=...
第1行和第2行是設置了最大的和最小的磁碟緩存的大小,它會直接影響到用於轉換用途的內存。「Chunksize」設置的是塊的大小,就好像是FAT16與FAT32一樣,它是磁碟緩存的最小單位,如果設得過大就會浪費空間,而過小又會使佔用的塊過多,降低工作效率,所以最好取個適合的值一般推薦512。「NameCache」設定了一個Windows系統所能跟蹤的文件數上限。「DirectoryCache」設定了一個Windows系統所能跟蹤的目錄數上限。

❸ C語言如何提高程序效率

好的代碼沒有一個統一的衡量標准,在程序員們的世界裡大家也是各自按照自己的標准衡量著自己和別人的代碼。不過有一個標准幾乎是被所有人認同的。服役時間越長、出錯率越高的代碼就是好代碼。所有的編程方法、代碼技巧甚至於設計模式都是為了達到這個目的而產生的。

如何提高程序效率

程序的效率分兩部分:時間效率和空間效率。

時間效率 : 指的是程序運行的速度

空間效率 : 指的是程序佔用內存或者外存的大小

對於這兩點的把握,我們沒有明確的方法。這里給出一些能夠達成共識的規則,大家在今後自己編碼的時候,可以通過這些規則來衡量自己的代碼是否符合要求。

規則1:不要一味地追求程序的效率

如果追求程序效率需要付出降低正確性、可靠性、健壯性、可讀性等質量代價,那麼可以放棄這部分效率的提高。

規則2:優先提高全局效率

只有整個程序的執行效率提高才有意義,把時間和精力放在某一個不常被調用的小模塊優化上得不償失。

規則3:針對瓶頸部分優化

在實際開發工作中,我們經常遇到一些程序執行時間過長,需要優化。有些人上來就開始逐行檢查代碼,把認為可能影響效率的地方都盡量修改一遍。這樣做不僅浪費時間,更重要的是,常常修改一遍後依然看不到明顯的效果。

這種情況下,正確的方法是先找出限制效率的「瓶頸」,在這個部分做有針對性的優化。這么做才事半功倍。

規則4:先優化數據結構和演算法,再優化執行代碼

程序的兩大要素是演算法和數據結構,它們貫穿於程序的始終。因此,對它們的優化能夠起到意想不到的良好效果。

規則5:時間效率和空間效率的矛盾

大多數時候,時間效率和空間效率是對立的。這就是程序設計中兩個很重要的方法論,一個是「以空間換時間」,另一個是「以時間換空間」。此時應當分析那個更重要,作出適當的折中。

早間年,硬體成本比較高,人們大多都採用以時間換空間的策略,花費一些時間,減少內存開銷。如今,內存條的價格已經非常便宜了,人們注重的`是軟體的友好性,因此大部分時候都是用空間換時間。

規則6:代碼不是越短越好

很多資深程序員都會有這樣一個誤區,完成同一個功能,代碼越短越好。還經常有人說這樣的話:「就這么個功能我幾行代碼就搞定了」。其實,追求代碼精簡是一個很大的誤區。因為精簡的代碼並不一定產生高效的機器碼。同時,它還付出了可讀性這一代價。正確的做法是適當地做到代碼精簡。

注意事項

1. 書寫錯誤

經常有人把「==」誤寫成「=」。「||」、「&&」、「<=」、「>=」這類符號也很容易發生少一個的錯誤。最可怕的是編譯器根本發現不了這樣的錯誤。

2. 初始化

變數(指針、數組)被創建之後應當立刻初始化,防止把未被初始化的變數當成右值使用。

3. 數值錯誤

這也是一類非常容易忽略的錯誤。變數的初值、預設值錯誤,或精度不夠,一旦出錯不易發現。

4. 類型轉換

為了避免數據類型轉換的錯誤,我們要盡量使用顯式的數據類型轉換,避免在編譯器中執行非我們所願的隱式數據類型轉換。

5. 溢出

溢出分兩種,一種是超過數據類型取值范圍的賦值,另一種是數組下標范圍越界。這兩種都是要時刻注意的。

7. 避免編寫技巧性很高代碼

技巧性過高的代碼一定是可讀性較差的代碼,這種代碼不易維護,後期的成本較高。

8. 好代碼要復用,壞代碼要重寫

如果原有的代碼質量比較好,盡量復用它。但是不要修補很差勁的代碼。當我們遇到差勁代碼時,最好的方法是重寫新代碼替換它。

9. 盡量使用標准庫函數

對於標准庫中有的函數,我們不要再花時間自己實現。很簡單,你自己實現的一定不比庫函數效率高。

10. 把編譯器的選擇項設置為最嚴格狀態

只有最嚴格的審查自己的代碼,才能寫出優秀的軟體產品。很多人甚至連編譯過程中出現的warning都懶得處理,這種態度堅決不能有。

❹ C語言里如何設置緩沖區,

很簡單的定義一個數組,用兩個變數下標來指向頭和尾,新數據來尾++ 老數據處理完頭++ 兩個下標超過界限時從頭開始循環利用 中間要考慮緩存數據空和數據滿的情況

或者你動態分配空間,來一個信號分配空間,插入隊列鏈表,處理完一個出隊列,釋放空間

❺ c#如何使用緩存提高程序效率

緩存的技術應用應該是非廣泛的。而它的作用也是為了提高系統或者網站的執行效率。下面是四種常見的緩存技術:
一.OutputCaching
由於IIS的一些特性,默認情況下OutputCache是打開的,但是要對某些請求進行緩存,還需要開發者進行定製,而且默認情況下,Output Cache 會被緩存到硬碟上,我們可以通過修改DiskCacheable的屬性來設置其是否緩存,還可以通過Web config里配置緩存文件的大小。

<%@ OutputCacheDuration="3600" VaryByParam="state" DiskCacheable="true" %>
一般用硬碟緩存是考慮到頁面送顯的數據比較大,相對內存緩存來說,它的容量大,但是訪問速度慢點,如果把周期設太短,使用硬碟緩存的效率就不大好。對於Output Cache的定製,有兩種方法,一種是基於底層的API技術,一種是基於高層的@OutputCaching:

1.基於高層的@OutputCaching

A.由參數改變緩存內容:有些時候我們需要根據用戶的請求來生成頁面,但是用戶的請求只有有限的幾種組合,這個時候就可以根據用戶請求來生成幾種緩存頁面,來進行緩存。

<%@ OutputCache Duration ="60" VaryByParam = "state" %>
<asp:SqlDataSourceID="SqlDataSource1" runat="server">
<SelectParameters>
<asp:QueryStringParameter Name="state"QueryStringField="state" DefaultValue="CA" />
</SelectParameters>
</asp:SqlDataSource>
B.回調緩存:可以針對每個請求在頁面中插入動態的部分,以彌補單獨使用靜態緩存的不足:
動態的部分用Substitution控制項,Substitution控制項是一個容器

<asp:SubstitutionID="Substitution1" runat="server" MethodName =""/>
MethodName 裡面放入要調用的方法內容。
2. 使用API定製緩存:
通過設置System.Web.HttpCachePolicy屬性來進行配置

<%@ OutputCache Duration="60"VaryByParam="none" %>
就可以寫成

Response.Cache.SetExpires(DateTime.Now.AddSeconds(60));
Response.Cache.SetCacheability(HttpCacheability.Public);

二.FragmentCaching
作為Output的緩存的附加功能,還提供一種緩存技術,專門用於緩存用戶控制項。在用戶控制項中設置:

<%@ OutputCache Duration="60"VaryByParam="none" %>

但在引用用戶控制項的頁面不設置緩存。這樣的話,頁面中除了用戶控制項是靜態的,其他都是動態的。
緩存用戶空間同樣還可以使用控制項作為參數來源。通過指定控制項作為緩存控制項的數據來源,可以達到緩存控制項數據的目的,和上面一樣。

三.DataCaching
Asp.net提供了一種非常快捷的方法進行資料庫緩存,用戶可以非常簡單方便的對頁面變數進行緩存。並以此提高程序效率。一個頁面變數的緩存生命周期與應用程序的緩存生命周期相同
實現是把數據放在Cache中,如:

source = new DataView(ds);
Cache("MyCache") = source;

MyCache這個變數其實就是一個XML文件。

四.SQL Caching
通過配置資料庫連接池,只有當資料庫數據被改變的時候,緩存才會改變。
開個DOS窗口:
C:\>dir aspnet_regsql.exe/s ——這個文件是專門注冊SQL連接池的,它對SQLSever 7.0以上都有專門的支持,我們通過寫一些專門的語句來配置這個注冊連接池,可以把連接池和本地的應用程序(Asp.net伺服器,即IIS)做一個連接。連接池只能監視有限的幾個庫,不然連接池的負載太大。使用SQL Caching:
先注冊,如: aspnet_regsql.exe-S".\SQLExpress"-E-d"pubs"-ed
aspnet_regsql.exe-S".\SQLExpress"-E-d"pubs"-et-t"authors"
其中:- S".\SQLExpress" 表示要使用的SQL Server實例為".\SQLExpress"。-E 表示使用當前windows憑證進行身份驗證。-d"pubs"表示用於應用程序服務的資料庫名稱叫"pubs"。-ed表示為SQL 緩存依賴項啟用資料庫。-et 表示為SQL 緩存依賴項啟用表。-t"authors"表的名稱為"authors"。
然後頁面上:
<%@ OutputCacheDuration="99999999" VaryByParam="none"SqlDependency="Pubs.Authors" %>
就OK了。

❻ 如何在C/C++程序中運用雙緩存雙線程等大規模數據處理的技巧 或者要怎麼做可以一次調入一塊數據進行處理

線程技術主要是用來並行處理一些任務,這些任務之間一般少有邏輯順序上的關聯,所以用線程技術可以提高程序整體的運行速度,特別在其中一些子線程運行速度有很大差距的情況下。
各類軟體使用緩存的方式都不一樣。雙緩存或者多個緩存、緩存池等等方式都有。關鍵在於你的程序需要使用怎樣的緩存結構。比如說你是類似生產者消費者模型的軟體,你也許會使用多個緩存做成隊列,一頭在不斷填充,一頭則不斷消耗,這樣能大大提高整體的數據吞吐速度。
fread不輸入整塊調入,它底層是使用的read之類的函數,對文件句柄進行操作。gets函數則是對指針指向的內存地址操作。這些都是上層邏輯了,離磁碟寄存器很遠。真正加快文件讀取速度的方法有很多,比如把整個文件映射到內存里,又比如跳過磁碟緩存直接大塊讀取內容。這些有的有專門的API函數可用,有的則需要你自己改寫系統底層代碼。
建議你多看看操作系統原理方面的書,可以去試著學習下linux內核代碼和原理,這樣你對這些問題就會有更深的認識。
希望這些建議能幫助你。

❼ 怎麼設置電腦的緩存

設置電腦的緩存的操作步驟如下:

1.打開計算機的此電腦,右鍵在彈出的菜單選項裡面滑鼠左鍵點擊「屬性」,如下圖紅框所示;

❽ 怎樣提高緩存速度

在電腦系統中,硬體運行速度的快慢基本由緩存決定,緩存的容量越大,相應的硬體運行速度也就越快。緩存的應用幾乎遍及所有的硬體,比如CPU、硬碟、刻錄機等,甚至是軟體也有緩存。什麼是緩存?簡單來說緩存就是數據交換的緩沖區(稱作Cache),當某一硬體要讀取數據時,會首先從緩存中查找需要的數據,如果找到了則直接執行,找不到的話則從內存中找。由於緩存的運行速度比內存快得多,故緩存的作用就是幫助硬體更快地運行,因此,我們要不惜使出一切手段來增加硬體的緩存,讓機器「飛」起來,以下就介紹幾種增加緩存的方法。

CPU的緩存

CPU的緩存分二級:L1(一級緩存)和L2(二級緩存),當處理器要讀取數據時,首先要在L1緩存中查找,其次才是L2緩存,最後才是系統內存。如果有一天你發覺自己的電腦慢了很多,進入到Windows桌面也要幾分鍾,這時候就要檢查一下CPU的一、二級緩存有沒有打開。在BIOS設置中的Standard CMOS Setup(標准CMOS設定)有兩項是用來打開或關閉緩存的:CPUInternal Cache設為Enable時開啟CPU內部的一級緩沖區,若設置為Disabl則為關閉,這時系統性能將大大降低;ExternalCache選項是控制主板上二級緩沖區,如果主板上有二級緩存則應設成Enable。

硬碟的緩存

點擊電腦桌面上的「開始」/「運行」,鍵入「Msconfig」啟動「系統配置實用程序」,跟著選中「system.ini」標簽下的「Vcache」項,就可以根據系統的實際情況來調節硬碟的緩存了。在該選項中一般會有三行內容:ChunkSize=1024、MaxFileCache=10240和MinFileCache=10240;其中第一行是緩沖區讀寫單元值,第二、三行是硬碟的最大和最小緩沖值,等號後的數值都是可以修改的,只要右鍵單擊選中任一行就可以進行修改了。如果你的內存是128MB的話,上面這三行的取值就比較合理了,當然也可以自定。如果不知道該如何設置合適的緩沖值,請「Windows優化大師」幫忙吧,這個軟體中有一個「磁碟緩存優化」項,用滑鼠就可以方便地設置好緩存;又或者讓「Windows優化大師」自動幫你進行優化設置。當硬碟的緩存值足夠大時,硬碟就不用頻繁地讀寫磁碟,一來可以延長硬碟的壽命,二來也可以提高數據的傳輸速度。

另外,將硬碟的「文件系統緩存」設置為「網路伺服器」,可以加快系統對硬碟的訪問速度,因為文件系統緩存里存放了硬碟最近被訪問過的文件名和路徑,緩存越大所能儲存的內容也就越多。如果點擊「控制面板」/「系統」/「性能」/「文件系統」/「硬碟」,將「此計算機的主要用途」由「台式機」改為「網路伺服器」,可以將原來10K左右的緩存增加至近50K左右。

軟碟機和光碟機的緩存

一般來說,軟碟機讀寫數據的速度都比較慢,這是因為碟片的轉速不能太高,但是,我們可以提高軟碟機的讀寫緩存,讓軟碟機一次讀寫更多的數據。方法是:在桌面上的「開始」/「運行」框中鍵入「Regedit」運行注冊表編輯器,依次進入HKEY-LOCAL-MACHINE\System\CurrentControlSet\Services\Class\FDC\0000,新建一個為ForeFifo的「DWORD值」,將其值設為「0」,這樣就對軟碟機進行了軟提速。

很多人都知道右鍵單擊桌面「我的電腦」圖標,選「屬性」/「性能」/「文件系統」/「CD-ROM」,將最佳的訪問方式設為「四倍速或更高速」,將追加的高速緩存大小滑塊拖到最大處,可以明顯提高光碟機的讀盤速度。除了這種方式,我們還可以在注冊表中設置緩沖值,方法是:進入到注冊表,在HKEY-LOCAL-MACHINE\System\CurrentControlSet\Control\FileSystem\CDFS下,將CacheSize(緩存值的大小)和Prefetch(預讀文件大小)兩項進行手工調整,只要右鍵單擊要選的項就可以進行修改了。

IE瀏覽器的緩存

IE的緩存默認存放位置在c:\windows\Temporary InternetFiles,調節緩存的大小辦法是:依次點擊IE中的「工具」/「Internet選項」/「Internet臨時文件」中的「設置」選項,將「使用磁碟的空間」滑塊向右拖動來調節緩存的大小。應該說明的是,加大IE的緩存對提高上網速度並無幫助,它只可以將用來存放臨時網頁文件的硬碟空間增大,使IE出錯的機會相對減少。
請採納答案,支持我一下。

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:712
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:974
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:686
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:837
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:743
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1085
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:314
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:194
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:882
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:840