0 DB作成に要する時間 2 考察

こんなに遅いとちょっと使えないよなあ

しかし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 ... /**

0

メモを他の人に見せる

このメモを見せたい人に、このURL(今開いているページのURLです)を教えてあげてください

コメント(0)

  • someone

  • someone