[問題] 請問在 PyPy 上要怎麼寫才跑得快?

看板Python作者時間10年前 (2015/03/03 14:15), 編輯推噓2(207)
留言9則, 4人參與, 最新討論串1/1
不曉得有沒有前輩有最佳化 PyPy 程式的經驗? 這東西實在非常不直覺 一般來說,程式應該是越短越少 function call 越快 結果在 PyPy 下卻不是這樣 把程式分散成多個小 function 反而有機會比較快,還快不少 搞得我不知道要從哪邊著手 PyPy 網站上的最佳化也只提到大部分程式語言都適用的方法 請問有沒有 PyPy 通用的原則呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.46.156.225 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1425363319.A.5AD.html

03/03 15:12, , 1F
『一般來說,程式應該是越短越少 function call 越快』
03/03 15:12, 1F

03/03 15:13, , 2F
根本就是錯的, 不要再相信獅子的鬃毛了
03/03 15:13, 2F

03/03 15:30, , 3F
while (true) ; <==這樣超短卻什麼事都沒做zz
03/03 15:30, 3F

03/03 15:34, , 4F
不是那個意思啦,表達不好,不然請先忽略短的部分好了
03/03 15:34, 4F

03/03 16:09, , 5F
如果自己都無法表達, 這八成是 premature optimization
03/03 16:09, 5F

03/03 21:11, , 6F
這兒有一些是專門針對 PyPy JIT http://goo.gl/ayctXx
03/03 21:11, 6F

03/03 21:16, , 7F
至於拆開後有變快,多少跟 JIT compiler 本身能力有關
03/03 21:16, 7F

03/04 06:55, , 8F
太感謝了,照著網頁寫的修改,莫名其妙就快了16%
03/04 06:55, 8F

03/04 06:57, , 9F
如果能再快10%就完美了,我試試看擠不擠得出來
03/04 06:57, 9F
文章代碼(AID): #1KzL5tMj (Python)
文章代碼(AID): #1KzL5tMj (Python)