如何在 C 中讓某個函式能夠像 JIT 一樣處理熱點中

時間 2021-06-03 00:58:57

1樓:

你要先生成乙個index陣列比如 index[data_size * 60] 往裡面填充random index,然後對這個陣列進行排序,再使用datas[index[i]] = random 這樣連續的注入隨機數

2樓:XZiar

random index還想避免cache miss?

那就加大cache啊!

等等,這鬼畜的演算法怎麼好眼熟……

cryptonight?

這是要開發下一代礦機的節奏?

3樓:

給乙個腦洞吧,我看你其他答案下的回覆說已經多執行緒了,那麼給這個任務乙個單獨的執行緒用Mask固定核心,把其他執行緒都用Mask趕到其他核心上.

4樓:

那我先不管你的some_task()到底在幹啥了,我感覺index沒必要隨機。

main_task()裡應該是這樣的是吧:

char

buf[

1024

];memcpy

(buf

,src

);send(fd

,buf

,sizeof

(buf),0

);那你試試這個看看有用沒用:void _mm_prefetch (char const*p, int i)

參考:MM_PREFETCH | Intel Software#include

static

char

buf[

1024

];/*編譯選項加上 -msse*/

intmain

()return0;

}void

main_task

()void

some_task

()還可以看看其他的intrinsic:

Intrinsics Guide

5樓:Milo Yip

不斷隨機訪問當然 cache miss 了,跟 JIT 沒有關係。

要改變演算法,盡量保持 memory coherence 才能減少 cache miss 去提公升效能。

因為不知道題目是要解決什麼問題,無法給具體演算法上的意見。

如何讓自家貓像貓咖中的貓一樣乖?

知名不具 我不知道你怎樣去定義乙隻貓乖不乖。如果你認為貓咖裡的貓的乖在天天不叫不鬧只睡覺的話,那我不認為貓咖裡的貓是乖的。事實上說這話可能得罪人。貓咖的貓大多數都是不幸福的。乖只是因為天天被迫營業見人多了很煩懶得搭理所以顯得乖。好多貓咖的貓無精打采,眼裡一點精氣神兒都沒有,那是乖嚒我覺得是無奈之舉。...

如何讓生活變得像遊戲一樣有趣?

畫畫的阿杜 正如她說的 讓自己每天像在玩遊戲一樣,激情滿滿的生活,不止疲倦的努力! 吃橘子長胖的橘貓 沒有專業的理論知識做支撐,但是很喜歡這個問題,所以從自身分析斗膽回答一下。首先,我覺得大腦如果能從遊戲中獲得快樂,那一定也能從生活中獲得快樂,只要在生活中找到了大腦在遊戲狀態下的興奮點。就我個人而言...

如何讓自己的人生像開了掛一樣?

時常在知乎看別人開掛,自己非常普通的人來回答一下。在網路遊戲裡面我開掛的經驗比較豐富,也會自己做一些簡單的。所以咱們在人生中進行模擬。要想開掛,首先你必須選擇乙個正確的遊戲。有的遊戲沒有外掛程式,或者即使開了外掛程式也只能獲得非常微小的收益,反而會遭到大家的唾棄,這樣還不如不要開掛。換到人生中,就是...