--- Title: DB作成に要する時間 2 考察 Author: yamasyuh68 Web: https://mimemo.io/m/bRndWoOD85lB965 --- ## こんなに遅いとちょっと使えないよなあ しかしfoobarはどうして速いんだろう? やってることは基本的に同じだと思うんだけど コードのチューンだけで速くなるのだろうか? キーポイントはタグの取得だ mutagenは遅すぎだよなあ・・ everythingも速いけどなあ、そもそも仕組みが違うんだろうか? --> foobarだけど、確認したら起動してからバックで結構長い時間初期化してた。決して速くはないのかも。バックでシームレスにやってくれてるから気づかないって事だな ( ̄― ̄?) ## mutagen mp3がエラー含めると5868ファイル、タグ取得に48.639秒、1ファイルにつき0.00828秒だった 速いのか遅いのか??? ちなみにエラーはmutagenのエラーで、ほぼタグ無しによる 普通にファイルをopenしてバイナリで読み込んでタグを取得してcloseして 私も昔zipファイルを扱うときにヘッダを自分で取得してデータを取り出すって事をやったことあるので何となくわかるんだけど 時間は仕方ないのか? mutagenは全てのタグを取りに行ってるから、その分で時間がかかるのだろうか? 特定のタグだけを獲りに行けるんだろうか? 自作した方が良いかな しかしタグってエンコードフォーマットによって違うんだなあ それぞれ用に書くのって面倒だ mutagenのソース見たらわかるだろうか?? pythonで自作するくらいならmutagen使った方が速いかもなあ ## 設計 ・新規、更新 - 1 init connect DB ファイル列挙 フォルダ除外 拡張子でフィルタリング DBに追加(mtime なし)  エラー時はmtime比較、同じならパス             違ったらUpdate(mtime削除) - 2 def mutagen DBからmtimeがNULLのものを抽出 mtime取得 mutagen取得 データをupdate close DB ・監視 - 3 def watch connect DB ファイルをDBに追加(mtime なし)  エラー時はmtime比較、同じならパス             違ったらUpdate(mtime削除) →②を呼び出す <状況表示> status bar --- def disp status adding m_files to DB... getting TAG ... **/****