ackermann-function-rust-reading(2020-01-19 15:49:27)

2022/01/03

ackermann-function-rust-reading(2020-01-19 15:49:27)

とりあえずRustの方は全部読んだ。

DDRの方はやるかわからないので、とりあえずここまでで終わる。

アッカーマン関数の計算過程を表示する (その↑) / DDRの足運び最適化問題を解く

やっていきその2。

ソースコードのリポジトリはここらしい。

esplo/ackprinter-book-supplements

4章

知識がゴミすぎて読み取れない

対象読者に記載通りの進行なので、ところどころ端折られてよくわからないところがあったが、

そこはGithubのコードをみて頑張った。

一つ、気になったのがいくつかあって、

ackprinter-book-supplements/src/bin/print_ary_no_memo.rs

ary_prefixerって本にコード載ってないけど、各自実装よろとか、Githubから引っ張ってきてみたいなこと

どっかに書かれてたの見落としたか…?

ベンチマークの書き方

こことか

ベンチマークテスト

こことか見て頑張った。

非nightlyなRustプロジェクトでベンチマークを使用する方法

つまりこういうこと?


#[cfg(test)]

mod tests {

    use super::*;

    use test::Bencher;



	// Omitted test codes.



    #[bench]

    fn bench_a(b: &mut Bencher){

        // something test...

    }

    #[bench]

    fn bench_b(b: &mut Bencher){

		// something test...

    }

}

Githubに公開されてないっぽいコードなので省略するけど。

benchマークって同じファイルにガリガリ描く方式ならこれかな。

5章

タイトル通り、アッカーマン関数の実装で終わった。これ以上先に行かれると私がついていけないぞ。

メモ化用のテーブルもメモリに持つのはきつそうなのでリソースを増やすか、外部の遅い補助記憶に頼るか、

さらに遅いDBを経由したりするのか….これはないか。

アッカーマン関数は並列化は想像つかないけど、頑張ればいけるのかな。

6章

まあ、あとがきなので特に描くことはないけど、

寿司虚空編は以前から知っていたが、怖そうな内容だったので見てなかったが少し興味が湧いてきた。

ツイッターで紹介していただいた巨大数論に目を通してから見てみようと思う。

結局何を得たの

>> Home