花了一下午(或一天)在試圖解決某個Bug,后來才知道解決方案很簡單,當(dāng)時就是沒有想到。有個同事正好路過,看到你愁眉苦臉的,問你“怎么了呀?”“噢,是這樣的。我遇到了一個問題,點(diǎn)擊這個控件的時……”當(dāng)你正準(zhǔn)備和同事詳細(xì)解釋的時候,突然靈光一現(xiàn),你話都沒說完,就中斷了和同事的傾訴,繼...
導(dǎo)讀:對于工程經(jīng)驗(yàn)比較豐富的同學(xué),并發(fā)應(yīng)該也并不是陌生的概念了,但是每個人所理解的并發(fā)問題,卻又往往并不統(tǒng)一,本文系統(tǒng)梳理了百度C工程師在進(jìn)行并發(fā)優(yōu)化時所作的工作。一、背景簡單回顧一下,一個程序的性能構(gòu)成要件大概有三個,即算法復(fù)雜度、IO開銷和并發(fā)能力。由于現(xiàn)代計(jì)算機(jī)體系結(jié)構(gòu)復(fù)雜...
最近在做一個項(xiàng)目,遇到一個問題,運(yùn)行于ARM上的threadx在與DSP通信采用消息隊(duì)列的方式傳遞消息(最終實(shí)現(xiàn)原理是中斷共享內(nèi)存的方式),在實(shí)際操作過程中發(fā)現(xiàn)threadx總是crash,于是經(jīng)過排查,是因?yàn)閭鬟f消息的結(jié)構(gòu)體沒有考慮字節(jié)對齊的問題。隨手整理一下C語言中字節(jié)對齊的...
socketfd長什么樣子?什么是socketfd?粗糙的來講,就是網(wǎng)絡(luò)fd,比如我們最常見的C/S客戶端服務(wù)端的編程模式,就是網(wǎng)絡(luò)通信的一種方式。撇開底層和協(xié)議細(xì)節(jié),網(wǎng)絡(luò)通信和文件讀寫從接口上有本質(zhì)區(qū)別嗎?其實(shí)沒啥區(qū)別,不就是讀過來和寫過去嘛,簡稱IO。我們先看一下socket...
近期遇到一個問題,簡單點(diǎn)說,主機(jī)A上顯示一條ESTABLISHED狀態(tài)的TCP連接到主機(jī)B,而主機(jī)B上卻沒有任何關(guān)于主機(jī)A的連接信息,經(jīng)查明,這是由于主機(jī)A和主機(jī)B的發(fā)送/接收緩沖區(qū)差異巨大,導(dǎo)致主機(jī)B進(jìn)程退出后,主機(jī)A暫時憋住,主機(jī)B頻繁發(fā)送零窗口探測,F(xiàn)IN_WAIT1狀態(tài)超...
【導(dǎo)語】:開源的在線流程圖繪制工具。簡介Wireflow是一個免費(fèi)的、開源的在線流程圖繪制工具,用于創(chuàng)建漂亮的流程圖,無需Photoshop技能。支持使用100多種自定義圖形、可進(jìn)行多人協(xié)作、權(quán)限分配、實(shí)時聊天等功能,并擁有豐富的功能組件庫。Wireflow的誕生是為了在項(xiàng)目規(guī)劃...
↓推薦關(guān)注↓前言:一直是想知道一條SQL語句是怎么被執(zhí)行的,它執(zhí)行的順序是怎樣的,然后查看總結(jié)各方資料,就有了下面這一篇博文了。本文將從MySQL總體架構(gòu)--->查詢執(zhí)行流程--->語句執(zhí)行順序來探討一下其中的知識。一、MySQL架構(gòu)總覽:架構(gòu)最好看圖,再配上必要的說明文字。下圖...
↓推薦關(guān)注↓hi,大家好,由于移動互聯(lián)網(wǎng)不斷發(fā)展,導(dǎo)致網(wǎng)絡(luò)流量徒增,推動著網(wǎng)絡(luò)技術(shù)不斷地發(fā)展,而CPU的運(yùn)行頻率基本停留在10年前的水平,為了迎接超高速網(wǎng)絡(luò)技術(shù)的挑戰(zhàn),軟件也需要大幅度創(chuàng)新,結(jié)合硬件技術(shù)的發(fā)展,DPDK(DataPlaneDevelopmentKit),一個以軟件...
↓推薦關(guān)注↓從Linux內(nèi)核3.15開始,您可能一直在關(guān)注內(nèi)核社區(qū)中擴(kuò)展的BerkeleyPacketFilter(eBPF)的開發(fā),或者您可能仍然將BerkeleyPacketFilter與VanJacobson在1992年所做的工作聯(lián)系起來。您可能已經(jīng)使用BPF和tcpdum...
↓推薦關(guān)注↓1.PageCache1.1PageCache是什么?為了理解PageCache,我們不妨先看一下Linux的文件I/O系統(tǒng),如下圖所示:Figure1.Linux文件I/O系統(tǒng)上圖中,紅色部分為PageCache??梢奝ageCache的本質(zhì)是由Linux內(nèi)核管理的...
↓推薦關(guān)注↓看完后不再迷茫!在校學(xué)生的編程語言和數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)還不錯,我認(rèn)為應(yīng)該在《操作系統(tǒng)》和《計(jì)算機(jī)體系結(jié)構(gòu)》這兩門課上下功夫,然后才去讀編程方面的APUE、UNP等書。下面簡單談?wù)勎覍W(xué)習(xí)這兩門課的看法和建議,都是站在服務(wù)端程序員的角度,從實(shí)用主義(pragmatic)的立...
socketfd長什么樣子?什么是socketfd?粗糙的來講,就是網(wǎng)絡(luò)fd,比如我們最常見的C/S客戶端服務(wù)端的編程模式,就是網(wǎng)絡(luò)通信的一種方式。撇開底層和協(xié)議細(xì)節(jié),網(wǎng)絡(luò)通信和文件讀寫從接口上有本質(zhì)區(qū)別嗎?其實(shí)沒啥區(qū)別,不就是讀過來和寫過去嘛,簡稱IO。我們先看一下socket...
↓推薦關(guān)注↓hi,大家好,內(nèi)存拷貝是比較耗時操作,零拷貝是常用優(yōu)化手段,今天分享的文章就是Linux系統(tǒng)零拷貝技術(shù),Kafka和MySQL開源組件都用到這個核心技術(shù),希望大家可以掌握。DMA與零拷貝技術(shù)注意事項(xiàng):除了DirectI/O,與磁盤相關(guān)的文件讀寫操作都有使用到pagec...
hi,上次分析了RCU核心思想:深入理解RCU核心原理,后面說會分享一篇RCU的源碼剖析,其實(shí)我這邊已經(jīng)總結(jié)得差不多:但自己思考了一下,發(fā)現(xiàn)大部分都是代碼分析,這樣很多人其實(shí)并不喜歡看源代碼分析(代碼有點(diǎn)多),所以可能其他方式更好,比如圖解,我發(fā)現(xiàn)已經(jīng)有人搞了這個,而且質(zhì)量也挺高...
289117336
Tronlong創(chuàng)龍
13030203448
大有可為
MXX1597759
xingnan123
xiaoguaixh
Y0825
LorenandGabriel
ilovenaibao
bluesky0318
liqinglong1023