STL多執行緒在linux環境下效能急劇下降,求解答?

時間 2021-07-03 15:07:21

1樓:

用排除法:

1、先排除多執行緒的問題。

方法:在兩台機器上分別用單執行緒測試。

2、排除檔案讀寫問題。

方法:將taskThread裡面的任務替換成其它的純計算純記憶體操作。

2樓:egmkang wang

為什麼C++getline讀取速度比C#readline讀取速度慢這麼多?如何提高? - egmkang wang 的回答

磁碟程式慢, 如果程式都是一樣的, 但是效能有顯著差別, 可以肯定的就是實現有差別, 我能想到的就是VC STL和GCC STL實現上的差別. 理論上差別應該不大. 這是第一.

第二就是, 你不應該多執行緒的去讀寫檔案, 這種是錯誤做法, 正確的做法是單執行緒拼命的讀, 然後多執行緒處理. 磁碟裝置順序讀寫效率是很高的, 一旦再次定址, 效率就會降低乙個數量級甚至以上. 當然這種經驗在SSD上面不成立.

3樓:烏合之眾

calculate(name);

這裡面做了什麼呢?有一些api函式,在windows下是針對執行緒的,而linux下是針對程序進行阻塞的。

C 多執行緒環境下里如何精確獲取shared ptr的引用計數?

已登出 根據文件的意思,不準確的原因是因為別的執行緒也許還沒有構建完成,或者在weakptr lock 未完成,那麼是否意味著可以通過保證同時只有乙個執行緒建立shared ptr來保證use count 返回精確值 禽牙 不精確的原因文件本身已經說得很清楚了,那是假設不同執行緒都在操作同乙個sha...

Linux環境下搭建MySQL環境?

frog 並且還可以安裝各版本的mysql,甚至tomcat。檢視所有映象 docker images 正在執行容器 docker ps 檢視docker容器 docker ps a 進入乙個容器 docker attach d48b21a7e439 執行乙個mysql例項 docker run n...

陳碩《Linux多執行緒服務端程式設計》中第二章使用shared ptr實現copy on write困惑?

mylife的無奈 前面大佬都說了,我覺得還有另一部分原因吧,書前面寫了,write端不需要擔心有人正在讀它,但困難的是,用智慧型指標時,一旦有其他執行緒讀,那麼引用計數就大於1,為了不擔心有人讀,這樣設計的好處就出來了。第一,寫的時候一旦發現有人讀,讀的時候同時出現doit 使用者執行了寫,但用的...