2021/02/12

github.com

あまり競プロもせずに RustPython を眺めていたら1日終わった。CPythonからテストをコピーしてきたのだが、言語処理系のテストがそのプログラミング言語で書かれているのはかなり好き。他の種類のアプリケーションではそうはいかないので、少し羨ましい。

github.com

再帰をしまくるフィボナッチの計算が遅すぎるという上記の issue を読んで、RustPython の実装を読みつつボトルネックを探そうとしたりした。結局はまだよく分からないのだが、perf で見ると VM で実行する際にポインタとして使っている AtomicU32 の操作に時間がかかっているように見える。でも Atomic シリーズは爆速なはずなので、嘘かもしれない。VM再帰関数を走らせるというオーバーヘッドが大きいだけのような気がする。