0 DB作成に要する時間 1 実験

190510 金 いろいろ実験したら、mutagenが遅すぎだ

f列挙 +カウンタ +f判定 +mp3検索 +タグ取得 +DB挿入
2.159 2.219 3.271 4.047 52.686 53.439

①ファイル列挙のみ
 2.159秒 glob でファイルを列挙させただけ ファイル数8992
②列挙+カウンタ
 2.219秒 ファイル数がわかるようにカウンタをつけてみた、ほとんど影響なし
③列挙+カウンタ+ファイル判定
 3.271秒 os,isfile を実行、1秒遅くなったなあ
④列挙+カウンタ+ファイル判定+mp3検索
 4.047秒 re.search(mp3$) を実行、また遅くなった
⑤列挙+カウンタ+ファイル判定+mp3検索+タグ取得
 52.686秒 mutagen使う、劇的に遅くなった
⑥列挙+カウンタ+ファイル判定+mp3検索+タグ取得+DB挿入
 53.439秒 DBにインサート、一秒だな、commitしてないからかな

ほぼ10000ファイルを目処に実験してみた
小数点以下3桁まで切り捨てで平均
mutagenが遅すぎ、この10倍以上のファイルがあるから現実的には使えないぞ(-_-)
---------------------------------------------

data

列挙のみ

elapsed_time:1.5570893287658691[sec]
{'all': 0, 'file': 0, 'nonemusic': 0, 'error': 0}
elapsed_time:2.4091379642486572[sec]
{'all': 0, 'file': 0, 'nonemusic': 0, 'error': 0}
elapsed_time:2.511143684387207[sec]
{'all': 0, 'file': 0, 'nonemusic': 0, 'error': 0}

列挙+カウンタ

elapsed_time:1.5190868377685547[sec]
{'all': 8992, 'file': 0, 'nonemusic': 0, 'error': 0}
elapsed_time:2.419138193130493[sec]
{'all': 8992, 'file': 0, 'nonemusic': 0, 'error': 0}
elapsed_time:2.4461398124694824[sec]
{'all': 8992, 'file': 0, 'nonemusic': 0, 'error': 0}
elapsed_time:2.495142936706543[sec]
{'all': 8992, 'file': 0, 'nonemusic': 0, 'error': 0}

列挙+カウンタ+ファイル判定

elapsed_time:2.511143684387207[sec]
{'all': 0, 'file': 0, 'nonemusic': 0, 'error': 0}
elapsed_time:2.9261672496795654[sec]
{'all': 8992, 'file': 8519, 'nonemusic': 0, 'error': 0}
elapsed_time:3.840219736099243[sec]
{'all': 8992, 'file': 8519, 'nonemusic': 0, 'error': 0}
elapsed_time:3.8102176189422607[sec]
{'all': 8992, 'file': 8519, 'nonemusic': 0, 'error': 0}

列挙+カウンタ+ファイル判定+mp3検索

elapsed_time:4.029230356216431[sec]
{'all': 8992, 'file': 8519, 'nonemusic': 0, 'error': 0, 'mp3': 5762}
elapsed_time:4.036230564117432[sec]
{'all': 8992, 'file': 8519, 'nonemusic': 0, 'error': 0, 'mp3': 5762}
elapsed_time:4.077233076095581[sec]
{'all': 8992, 'file': 8519, 'nonemusic': 0, 'error': 0, 'mp3': 5762}

列挙+カウンタ+ファイル判定+mp3検索+タグ取得

elapsed_time:49.18781352043152[sec]
{'all': 8992, 'file': 8519, 'nonemusic': 0, 'error': 106, 'mp3': 5762}
elapsed_time:52.60800909996033[sec]
{'all': 8992, 'file': 8519, 'nonemusic': 0, 'error': 106, 'mp3': 5762}
elapsed_time:53.26504683494568[sec]
{'all': 8992, 'file': 8519, 'nonemusic': 0, 'error': 106, 'mp3': 5762}

列挙+カウンタ+ファイル判定+mp3検索+タグ取得+DB挿入

elapsed_time:52.57100701332092[sec] data--[(5762,)]
{'all': 8992, 'file': 8519, 'nonemusic': 2757, 'error': 106, 'mp3': 5762}
lapsed_time:52.82102108001709[sec] data--[(5762,)]
{'all': 8992, 'file': 8519, 'nonemusic': 2757, 'error': 106, 'mp3': 5762}
elapsed_time:54.92714166641235[sec] data--[(5762,)]
{'all': 8992, 'file': 8519, 'nonemusic': 2757, 'error': 106, 'mp3': 5762}


i:\Music\ ファイル列挙+カウンタ+ファイル判定+mp3検索

elapsed_time:17.583005666732788[sec] data--[]
{'all': 42519, 'file': 40047, 'nonemusic': 18989, 'error': 0, 'mp3': 21058}

0

メモを他の人に見せる

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

コメント(0)

  • someone

  • someone