せっかくなので計ってみる
デコレータ関数もつくったので計ってみましょう。
関数の手前に1行足すだけデス。あとmainも作るdeathネ。
@elapsed def e0(n): @elapsed def eratosthenes(n): def main(): n = 10000 primes = e0(n) primes = eratosthenes(n) print(len(primes)) if __name__ == "__main__": main()
mainの中でsys.argvとかでnをコマンドラインから入れるような処理を書くと毎回ファイル開かないでよいです。イマドキのipynbとかだと、まぁ、それすら気にしないデスけど。では、どーん。
$ ./xprimes.py 848.7949371337891 ms in e0 2.7043819427490234 ms in eratosthenes 1229
数はあってるみたいですね。速度はざっくり300倍って感じデス