November 2015
Intermediate to advanced
360 pages
6h 16m
Japanese
numpyとarrayが優れているのはなぜか?RAMは使い切って初めてどれだけ使っているのかを考えるものです。コードを拡張中にRAMを使い切ってしまうと、突然それは進捗を阻害する要因になりえます。1台のマシンのRAMの中により多くのデータが収まれば、管理しなければならないマシンの数が減りますし、より大きなプロジェクトに発展させていくための余地もできます。RAMを使い切ってしまう理由を知り、この貴重なリソースをより効率よく使う方法を考えれば、より大きな問題を扱えるようになるでしょう。
RAMを節約するには、データを圧縮して記憶するコンテナを使う方法もあります。本章では、トライという順序つきのツリー構造とDAWGというデータ構造を説明します。これを用いると性能をほとんど犠牲にすることなく、1.1GBの文字列をわずか254MBに圧縮できます。最後に、正確さを犠牲にして劇的にRAMを節約する近似計算や近似メンバーシップを説明します。
RAMの使用量を考えることとは「データには質量がある」とイメージすることです。質量が増えれば、移動に時間がかかります。RAMを節約すれば、データは高速にバスを移動でき、容量に上限のあるキャッシュに収まります。データがRAMに収まらず遅い記憶装置(ハードディスクや、リモートにあるデータクラスタなど)に記憶しなければならなくなると、マシンにデータを持ってくるのがはるかに遅くなります。適切なデータ構造を選んで1つのマシンにデータが収まるようにしましょう。 ...
Read now
Unlock full access