→ Lipraxde: 這應該跟電腦當下忙不忙、OS scheduling 有關 06/06 21:12
→ Lipraxde: 偶爾會超時應該算正常 06/06 21:12
→ nh60211as: 剛剛測,跟樓上說得差不多 06/06 21:26
→ nh60211as: 我正常跑你的code不會印東西,我限制cpu到ㄧ顆的話每次 06/06 21:27
→ nh60211as: 都會印,應該是main跟timer一直交換cpu使用權 06/06 21:27
→ icetofux: 剛剛試了一下,在timestamp的存取加入了std::memory_ord 06/06 21:47
→ icetofux: er_consume跟std::memory_order_release就不再超時了。 06/06 21:47
→ icetofux: 這樣看起來好像又跟atomic有點關係@_@ 06/06 21:47
→ Lipraxde: 看來是跟受到 memory order 的影響...你的電腦比較特殊 06/06 22:19
→ Lipraxde: 嗎? 06/06 22:19
→ icetofux: 只是一般X86 PC而已,不過有趣的是即便加上memory order 06/06 23:58
→ icetofux: 以後,在GDB online網站跑還是有超時現象,我的電腦上跑 06/06 23:58
→ icetofux: 卻不會。 06/06 23:58
→ HSUFIT: 別在網站上測速度,我剛剛跑發現網站的穩定度很差 06/07 00:19
→ HSUFIT: 你可以設定affinity讓他們跑在同一個CPU上,再統計超時數 06/07 00:22
→ Lipraxde: 試試看在 main 裡的 while 加個 sleep,讓它不要那麼頻 06/07 10:10
→ Lipraxde: 繁的 load 看看 06/07 10:10
→ Lipraxde: 可能是它一直讀導致另一個 thread 寫不進去 06/07 10:24
→ icetofux: 回Lipraxde,這個方法有效,感謝! 06/07 12:57