4

私の python スクリプトは重い計算をします。パフォーマンスを向上させるために、計算されたデータをディスクにキャッシュして、次に実行するときに同じことを計算するのに時間を無駄にしないようにします。ただし、キャッシュからデータを抽出する前に、キャッシュが古くなっていないことを確認するためにいくつかのチェックを行う必要があります。これは私が立ち往生している部分です。

私の最初のアイデアは、キャッシュの作成時間と Python スクリプトの変更時間を比較することでした。後者が前者よりも大きい (つまり、より新しい) 場合、キャッシュは古いと見なし、そうでない場合はそうではありません。ただし、Linux カーネルはファイルの作成時刻を保存しないため、この時点で立ち往生しています。

同様の状況:
Python インタープリターが .py ファイルから .pyc ファイルを作成すると、同様の処理が行われます --> .pyc ファイルが作成された後に .py ファイルを変更すると、新しい .pyc ファイルが作成されます。それはどのように行うのですか?アルゴリズムが知りたいです。ありがとうございました。

4

2 に答える 2

2

代わりに、キャッシュ ファイルの最終変更時刻を確認してください。

さらに良いことに、キャッシュを更新して新しい計算値を格納するとき、それが最初に行われたのはいつかではなく、最後に行われたのはいつかを知りたいので、それはどのような場合でも本当にチェックしたいことです。:-)

于 2012-09-10T16:56:38.820 に答える
0

キャッシュされたすべてのエンティティのリストとその作成時刻を保持するメタデータ ファイルを作成できます

于 2012-09-10T10:45:28.130 に答える