推 yislin: 推解釋詳細 03/28 00:31
推 x9060000456: 推 03/28 00:32
→ yislin: 好奇請教一下,如果捨棄 for loop,改成將 subarray 傳遞 03/28 00:37
→ yislin: 至 function,而後再回傳,如此一來在優化上是否更好做? 03/28 00:37
→ yislin: 再多問些,如果再加上 map 呢 03/28 00:40
推 alihue: 如果你前提是每個 for-loop 拆出程式分開跑當然效能好 03/28 00:42
→ Muscovy: @yislin, 你給的條件對我來說比較像是維護性的問題. 03/28 00:43
→ alihue: ,但前篇文章前提是同支程式。 03/28 00:43
→ alihue: 此外並不是講職稱就能把你的話直接變成正解,技術要合理 03/28 00:43
→ alihue: 才能。 03/28 00:43
→ Muscovy: 維護性也蠻重要的, 一味優化的結構很恐怖, 隔天就看不懂. 03/28 00:43
→ alihue: 我並沒有要反駁說這篇哪個做法是錯的,因為 03/28 00:43
→ alihue: 這篇又多加了幾個前提,那解法又更不同。 03/28 00:44
→ Muscovy: @alihue, 其實我只是「從效能的觀點」來說... XD 03/28 00:44
→ alihue: 我自己也在每天幾千 QPS 的系統工作,但我不會認為我是正 03/28 00:45
→ alihue: 解 03/28 00:45
→ Muscovy: 從維護性來說, 我的經驗也告訴我, for + if 少用為妙. 03/28 00:45
→ Muscovy: 因為出錯的時候真的很難 debug, 尤其一群猴子合作的情況 03/28 00:46
→ Muscovy: 對, 我就是說我們的團隊... XD 03/28 00:46
→ paimin: 我們都直接買64 core的給大家跑 優化有空再做就好了 03/28 01:17
推 taipoo: 推 03/28 01:39
→ handsomeLin: 如果要拆來跑的話當然是拆開for loop跟preprocessing 03/28 10:53
→ handsomeLin: 的概念是一樣意思,但是這樣跟用不用if在for loop裡s 03/28 10:53
→ handsomeLin: cope就完全不同了 03/28 10:53
→ Murasaki0110: 沒平行的時候硬要這樣寫就是慢啊 03/28 10:59
→ Murasaki0110: 你前提是平行那也沒討論if的必要 03/28 11:01
噓 majohnsha: 台灣主管真敢講 說自己團隊是猴子 03/28 12:27
→ majohnsha: 真好奇哪家上市公司 03/28 12:28
→ recorriendo: 看起來你的loop順序不影響結果 那直接做data paralle 03/28 13:33
→ recorriendo: l 有幾個entry就拆成幾個job 不是更快? 03/28 13:33
推 j0958322080: 搞不好人家只是謙虛而已 03/28 18:13
→ Muscovy: 不是謙虛! 而是... 薪水用鄉民的眼光看, 真的是香蕉等級 03/29 00:49
→ Muscovy: data parallelism 是其中的部分考量而已. 03/29 00:52
→ Muscovy: 而且運算量大的時候, 常見的拆法也不能用. 03/29 00:53
→ Muscovy: 因為通常也會伴隨 bandwidth 的問題. 03/29 00:55
→ Muscovy: bandwith 「不足」... 漏寫. 03/29 00:55
→ Muscovy: bandwidth........一直打錯. 03/29 00:56
推 vi000246: 同意越接近數學越好維護 03/29 11:54
→ shooter555: 指令集的問題就變成要看指令集提供哪些運算了 看可以 03/29 12:47
→ shooter555: 一次運算幾個byte 再來拆loop 畢竟很多餘數特例 03/29 12:48
→ shooter555: 不過講到這個就要完全捨棄可維護性了 在加速部份 03/29 12:51
→ shooter555: 每個迴圈運行的時間不低於三十分鐘 那的確可以捨棄掉 03/29 12:59
→ shooter555: 展開的時間了 03/29 12:59
→ shooter555: 但如果這個function是不到一毫秒執行一次可能會有差 03/29 13:01
→ shooter555: 平行化也不是這麼好用 畢竟還要考慮到race condition 03/29 13:06
→ shooter555: 三十分鐘這麼長的確可以拆幾個thread來跑 但必須確保 03/29 13:08
→ shooter555: 些來的資源不共用 或要另外lock 03/29 13:08
推 ShenJing: 推解釋,有所收穫 03/30 01:18
→ loggan: 有問有人知道內文提到的教科書是? 03/30 11:43
推 s0914714: 如果那麼在意效能應該是不要用(原生的)Python 03/30 17:25
推 kqalea: 我認同,看看VPP DPDK 05/05 10:50
→ kqalea: 我更覺得 LLVM Backend 是更好更理想的解法 05/05 10:51