函數(shù)定義域 函數(shù)調(diào)用帶來的cache miss會(huì)對(duì)cpu性能帶來多大的影響?
函數(shù)調(diào)用帶來的cache miss會(huì)對(duì)cpu性能帶來多大的影響?一般來說,任何一種語言從算法層面出發(fā),都會(huì)考慮對(duì)資源的占用,無論是面向進(jìn)程的還是面向?qū)ο蟮恼Z言,特別是像C語言等低層次的有針對(duì)性的語言編
函數(shù)調(diào)用帶來的cache miss會(huì)對(duì)cpu性能帶來多大的影響?
一般來說,任何一種語言從算法層面出發(fā),都會(huì)考慮對(duì)資源的占用,無論是面向進(jìn)程的還是面向?qū)ο蟮恼Z言,特別是像C語言等低層次的有針對(duì)性的語言編譯系統(tǒng),其影響幾乎被忽略。讓我們以C為例。我們用C語言編寫了一個(gè)函數(shù)調(diào)用模塊,只有在函數(shù)被調(diào)用時(shí)才存在內(nèi)存分配問題。只有當(dāng)CPU安排內(nèi)存尋址時(shí),才能有CPU對(duì)所用地址資源的管理。通話一結(jié)束,CPU就會(huì)立即發(fā)揮管理功能,恢復(fù)分配的地址空間,管理工作就結(jié)束了。這就是CPU占用或消耗的問題。所以現(xiàn)在對(duì)于功能強(qiáng)大的CPU來說,幾乎可以忽略不計(jì),但是一些惡意代碼或者故意死圈的程序卻不可同日而語。
1650s與1660買哪個(gè)好?為什么?
感謝您的邀請(qǐng)。
我們先來看看車主的問題。對(duì)于業(yè)主的應(yīng)用需求,這兩款顯卡完全可以滿足性能要求,甚至有多余。在1650和1660年,我建議選擇前者。
這兩種顯卡還是有一些區(qū)別的:
1650s有1280個(gè)流處理單元,1530-1800mhz,D6內(nèi)存,容量4G;1660有1408個(gè)流處理單元,1530-1845mhz,D5內(nèi)存,容量6G
實(shí)際游戲評(píng)測顯示1650s略低于1660,但可以說差別不大,無論1650年代還是1660年代,目前都可以玩主流游戲。1660系列圖形卡可以說是從原來的10系列GTX圖形卡過渡到了新的20系列RTX圖形卡,但是最早的1660基本上是偏向前者的,所以即使流處理單元的數(shù)量明顯多了,內(nèi)存容量也更大了,而且主頻大致相同,性能也沒有高多少,而1650s則偏向后者,因此作為5系列顯卡,性能與同代1660的6系列差不多。
因此,無論是從性價(jià)比還是從購買新的電子產(chǎn)品而不是舊產(chǎn)品的原則來看,我都推薦使用1650s顯卡。
我希望以上的答案能對(duì)您有所幫助。如果你有任何問題,你可以留言或給我發(fā)私人信息。
為什么有很多出名開源的C/C 方面的高性能網(wǎng)絡(luò)庫,比如libevent,boost-asio,有些企業(yè)還要自己寫?
是構(gòu)建輪子還是直接使用開源庫,我認(rèn)為,很大程度上取決于部門負(fù)責(zé)人的個(gè)人喜好。曾幾何時(shí),c開發(fā)人員熱衷于重新構(gòu)建輪子,那么為什么有些企業(yè)要自己編寫呢?我在項(xiàng)目開始時(shí)不知道這個(gè)庫的存在,我不想以后再介紹它。
2)許多第三方庫依賴于許多其他第三方庫。要引進(jìn)a館,就得引進(jìn)B館、C館、D館,這無疑增加了院系成員的學(xué)習(xí)成本。
3)第三方開源庫通常會(huì)頻繁更新。如果你知道有一個(gè)bug,你想更新它嗎?基礎(chǔ)庫的更新無疑會(huì)花費(fèi)更多的開發(fā)時(shí)間和測試時(shí)間。
4)使項(xiàng)目整體可控。一旦引入的開放源代碼庫出現(xiàn)問題并且項(xiàng)目團(tuán)隊(duì)不熟悉它,這將是災(zāi)難性的。
5)現(xiàn)有開源庫過于復(fù)雜,學(xué)習(xí)成本高,團(tuán)隊(duì)成員水平參差不齊。
最后,附上一本我前段時(shí)間讀過的書。
本文是作者《一個(gè)程序員的奮斗史》悟空問答原創(chuàng)文章,未經(jīng)允許轉(zhuǎn)載,抄襲將被追究!