[英]Does allocation size affect its speed?
我的意思是-分配小的內存塊比分配大的內存塊快嗎? 即:
int * dummy = new int; // A
int * dummy2 = new int[2]; // A
int * dummy3 = new int[1000000]; // B
VeryVeryBigStruct * dummy4 = new VeryVeryBigStruct; // B
(A)
將是小的分配, (B)
將是大的分配。
我知道我可以編寫一個簡單的程序並為自己進行測試,但是我實際上嘗試過,即使QueryPerformanceCounter()
對於單個小分配也返回0
次(這有點令人驚訝,因為所有分配都這么慢。此外,對1個進行1次測試計算機幾乎不可靠,所以我想聽聽您對此事的了解。
另外,我想知道N
字節的10個分配是否比10 * N
字節的1個分配快/慢(我想說應該慢一些,但是誰知道)。
取決於操作系統。 但總的來說,它應該不會有太大的區別,因為像Linux這樣的系統(我假設是現代Windows等)都使用延遲分配。 即,他們分配虛擬內存空間而沒有實際分配物理內存,直到您訪問它為止。
您可以在此其他SO帖子中看到更多詳細信息:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.