trace()とlogger.debug()の負荷テスト結果Report
trace()とlogger.debug()の負荷テストを以下にあげる3つのテスト環境で行い、結果をグラフにまとめました。
- 「標準のFlash Player」 → trace()によるflashlog.txtへの出力なし
- 「Debug Player + mm.cfgなし」 → trace()によるflashlog.txtへの出力なし
- 「Debug Player + mm.cfgあり」 → trace()によるflashlog.txtへの出力あり
※棒グラフは長いほど負荷が低い(=パフォーマンスがいい)です。
※「logger.debug()」においてTraceTargetは追加していません。つまりtrace()は実行されません。
trace()にはやはり負荷がありますが、環境によりその大きさに違いがでます。Debug Playerにおけるtrace()の負荷は標準のFlash Playerの1.6倍で、さらに実際にflashlog.txtに出力される場合になると700倍以上になります。flashlog.txtへの出力処理が、trace()の負荷の大部分を占めているようです。
驚いたことに、trace()を実行しないテストケース(「trace()なし」と「logger.debug()」)においても標準のFlash PlayerとDebug Playerでコード実行パフォーマンスにかなり違いがでてます。どうやら(少なくともこのテストにおいては)Debug Playerは標準のFlash Playerに比べてコード実行パフォーマンスが80%以下になるようです。
テストはWindows XP SP2 + FireFox 2.0.0.11 + Flash Player 9.0.115で行いました。 以下は、3環境それぞれのログです。
「標準のFlash Player」のログ
■trace()なし 経過時間(ミリ秒): 6 1秒あたりのループ回数: 166666666 ---------------------------------------- ■trace()なし 経過時間(ミリ秒): 8 1秒あたりのループ回数: 125000000 ---------------------------------------- ■trace()なし 経過時間(ミリ秒): 6 1秒あたりのループ回数: 166666666 ---------------------------------------- ■trace()あり 経過時間(ミリ秒): 2290 1秒あたりのループ回数: 436681 ---------------------------------------- ■trace()あり 経過時間(ミリ秒): 2307 1秒あたりのループ回数: 433463 ---------------------------------------- ■trace()あり 経過時間(ミリ秒): 2301 1秒あたりのループ回数: 434593 ---------------------------------------- ■logger.debug() 経過時間(ミリ秒): 726 1秒あたりのループ回数: 1377410 ---------------------------------------- ■logger.debug() 経過時間(ミリ秒): 732 1秒あたりのループ回数: 1366120 ---------------------------------------- ■logger.debug() 経過時間(ミリ秒): 736 1秒あたりのループ回数: 1358695 ----------------------------------------
「Debug Player + mm.cfgなし」のログ
■trace()なし 経過時間(ミリ秒): 9 1秒あたりのループ回数: 111111111 ---------------------------------------- ■trace()なし 経過時間(ミリ秒): 10 1秒あたりのループ回数: 100000000 ---------------------------------------- ■trace()なし 経過時間(ミリ秒): 9 1秒あたりのループ回数: 111111111 ---------------------------------------- ■trace()あり 経過時間(ミリ秒): 3812 1秒あたりのループ回数: 262329 ---------------------------------------- ■trace()あり 経過時間(ミリ秒): 3753 1秒あたりのループ回数: 266453 ---------------------------------------- ■trace()あり 経過時間(ミリ秒): 3745 1秒あたりのループ回数: 267022 ---------------------------------------- ■logger.debug() 経過時間(ミリ秒): 969 1秒あたりのループ回数: 1031991 ---------------------------------------- ■logger.debug() 経過時間(ミリ秒): 968 1秒あたりのループ回数: 1033057 ---------------------------------------- ■logger.debug() 経過時間(ミリ秒): 970 1秒あたりのループ回数: 1030927 ----------------------------------------
「Debug Player + mm.cfgあり」のログ
// mm.cfgの内容
ErrorReportingEnable=1
TraceOutputFileEnable=1
■trace()なし 経過時間(ミリ秒): 10 1秒あたりのループ回数: 100000000 ---------------------------------------- ■trace()なし 経過時間(ミリ秒): 10 1秒あたりのループ回数: 100000000 ---------------------------------------- ■trace()なし 経過時間(ミリ秒): 10 1秒あたりのループ回数: 100000000 ---------------------------------------- ■trace()あり 2539回目でエラー: Error: Error #1502: スクリプトがデフォルトのタイムアウト時間の 15 秒を超えて実行されました。 経過時間(ミリ秒): 5000 1秒あたりのループ回数: 507 ---------------------------------------- ■trace()あり 1427回目でエラー: Error: Error #1502: スクリプトがデフォルトのタイムアウト時間の 15 秒を超えて実行されました。 経過時間(ミリ秒): 5002 1秒あたりのループ回数: 285 ---------------------------------------- ■trace()あり 1110回目でエラー: Error: Error #1502: スクリプトがデフォルトのタイムアウト時間の 15 秒を超えて実行されました。 経過時間(ミリ秒): 5001 1秒あたりのループ回数: 221 ---------------------------------------- ■logger.debug() 経過時間(ミリ秒): 969 1秒あたりのループ回数: 1031991 ---------------------------------------- ■logger.debug() 経過時間(ミリ秒): 970 1秒あたりのループ回数: 1030927 ---------------------------------------- ■logger.debug() 経過時間(ミリ秒): 971 1秒あたりのループ回数: 1029866 ----------------------------------------
トラックバック(2)
このブログ記事を参照しているブログ一覧: trace()とlogger.debug()の負荷テスト結果Report
このブログ記事に対するトラックバックURL: http://uenon.jp/mt/mt-tb.cgi/107
某所でFlex Builder beta 3の「リリースビルドの書き出し」でt... 続きを読む
このサイトのFaviconを新しくしました 同様のデザインで大きなサイズのアイコンも作りました。 大きなサイズのアイコンはこんなところに使います。... 続きを読む

コメントする