一、寫(xiě)在前面 skiplist是一種有序的數(shù)據(jù)結(jié)構(gòu), 不同于各種平衡樹(shù), skiplist看起來(lái)就是多層的鏈表, 具體點(diǎn)每個(gè)元素是個(gè)數(shù)組, 這個(gè)...
一、寫(xiě)在前面 標(biāo)準(zhǔn)庫(kù)的雙向循環(huán)鏈表實(shí)現(xiàn)是基于interface{}的,性能一般。為了提升性能,本文基于泛型語(yǔ)法實(shí)現(xiàn)一個(gè)比標(biāo)準(zhǔn)庫(kù)更快的鏈表寫(xiě)法(主...
一、寫(xiě)在前面 現(xiàn)代編程語(yǔ)言一般都提供了hash表的容器, 比如c++的std::hash_map, golang的map底層都使用了hash t...
前言 c語(yǔ)言作為系統(tǒng)編程語(yǔ)言統(tǒng)治bit世界已經(jīng)很久,留下了大量的代碼遺產(chǎn)。rust作為新興語(yǔ)言在一些冷門領(lǐng)域開(kāi)發(fā),真是裹足前行。rust如果可以...
由來(lái) 最近在研究rfc2616,結(jié)合http-parser源代碼閱讀還是遇到一些奇怪的地方。比如,Connection的value已經(jīng)是Upgr...
前言 最近打算熟悉下rust,先使用tcp stream+protobuf寫(xiě)個(gè)簡(jiǎn)單的TLV服務(wù)。發(fā)現(xiàn)rust處理生成代碼的方式和go還有點(diǎn)不一樣...
事情由來(lái) 在golang最近經(jīng)常寫(xiě)http或者grpc服務(wù),帶著這種習(xí)慣寫(xiě)了tcp服務(wù),最后看了下代碼,tcp連接沒(méi)有調(diào)用fd.Close()方...
問(wèn)題 今天早上寫(xiě)代碼,把vim的插件升級(jí)之后,vim底部一直彈"vim-go: initializing gopls",代碼也跳不過(guò)去。懷疑和g...
事由 使用nsq的go sdk發(fā)現(xiàn)吞吐量一直上不去。經(jīng)過(guò)邊看代碼,便閱讀文檔,發(fā)現(xiàn)MaxInFlight這個(gè)參數(shù)會(huì)影響吞吐量 修改 知道哪個(gè)參數(shù)...