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

2019/05/13 13:32 by yamasyuh68
  :追加された部分   :削除された部分
(差分が大きい場合、文字単位では表示しません)
DB作成に要する時間 2 考察 # prog
## こんなに遅いとちょっと使えないよなあ
しかしfoobarはどうして速いんだろう?
やってることは基本的に同じだと思うんだけど
コードのチューンだけで速くなるのだろうか?
キーポイントはタグの取得だ
mutagenは遅すぎだよなあ・・
everythingも速いけどなあ、そもそも仕組みが違うんだろうか?

##
普通にファイルを開いてバイナリで読み込んでタグを取得して解放して
## mutagen
mp3がエラー含めると5868ファイル、タグ取得に48.639秒、1ファイルにつき0.00828秒だった
速いのか遅いのか???
ちなみにエラーはmutagenのエラーで、ほぼタグ無しによる
普通にファイルをopenしてバイナリで読み込んでタグを取得してcloseして
私も昔zipファイルを扱うときにヘッダを自分で取得してデータを取り出すって事をやったことあるので何となくわかるんだけど
時間は仕方ないのか?
mutagenは全てのタグを取りに行ってるから、その分で時間がかかるのだろうか?
特定のタグだけを獲りに行けるんだろうか?

自作した方が良いかな
しかしタグってエンコードフォーマットによって違うんだなあ
それぞれ用に書くのって面倒だ
mutagenのソース見たらわかるだろうか??
pythonで自作するくらいならmutagen使った方が速いかもなあ

## コード
① 対象フォルダを渡して列挙・検索・タグ取得してDBに追加までするクラスを作成
このクラスには初回、更新、監視機能をつける
② メインは音楽再生アプリにして、起動したら別スレッドで①クラスを呼び出す、メインスレッドは音楽を再生する

      

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

しかしfoobarはどうして速いんだろう?
やってることは基本的に同じだと思うんだけど
コードのチューンだけで速くなるのだろうか?
キーポイントはタグの取得だ
mutagenは遅すぎだよなあ・・
everythingも速いけどなあ、そもそも仕組みが違うんだろうか?

mutagen

mp3がエラー含めると5868ファイル、タグ取得に48.639秒、1ファイルにつき0.00828秒だった
速いのか遅いのか???
ちなみにエラーはmutagenのエラーで、ほぼタグ無しによる
普通にファイルをopenしてバイナリで読み込んでタグを取得してcloseして
私も昔zipファイルを扱うときにヘッダを自分で取得してデータを取り出すって事をやったことあるので何となくわかるんだけど
時間は仕方ないのか?
mutagenは全てのタグを取りに行ってるから、その分で時間がかかるのだろうか?
特定のタグだけを獲りに行けるんだろうか?

自作した方が良いかな
しかしタグってエンコードフォーマットによって違うんだなあ
それぞれ用に書くのって面倒だ
mutagenのソース見たらわかるだろうか??
pythonで自作するくらいならmutagen使った方が速いかもなあ

コード

① 対象フォルダを渡して列挙・検索・タグ取得してDBに追加までするクラスを作成
このクラスには初回、更新、監視機能をつける
② メインは音楽再生アプリにして、起動したら別スレッドで①クラスを呼び出す、メインスレッドは音楽を再生する