狠狠撸

狠狠撸Share a Scribd company logo
cythonの一喜一憂
棚橋 耕太郎
2015.12.01
Python
?生産性が高い	
 
?みんなから愛されている	
 
?機械学習ライブラリや計算ライブラリの充実
Pythonはなんでも夢を叶えてくれる…	
 
ただ一つ実行が遅いことを除いては
Spoiled by Python convenience- and productivity-wise, spoiled by
C++ speed-wise. Now unhappy with both
言語選択で路頭に迷う人
http://programmers.stackexchange.com/questions/197118/spoiled-by-python-convenience-and-productivity-wise-spoiled-by-c-speed-wise
simple python code
loopTest(np.ones((10000,10000))) 実行時間 14.2秒
え、私のpython遅すぎ…!?
Cython
pythonの一部をC言語にコンパイルして実行可能
変数をcdefを用いて静的に型付けする
Cython!!
loopTestCorg(np.ones((10000,10000))) 実行時間 0.000787秒
え、私のpython速すぎ…!?
これで幸せな辫测迟丑辞苍ライフを送れる!
でもifを入れると…
え、私のcython遅すぎ…!?
実行時間 35秒
cython -a
黄色い部分ほど、pythonコード
白いところはCにコンパイル可能
iやdが動的型付けになっているのがわかる
Come on!!!
え、私のcython速すぎ…!? 実行時間 0.000231秒

More Related Content