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

» trace()とlogger.debug()の負荷テスト(FleFla)~のトラックバック

某所でFlex Builder beta 3の「リリースビルドの書き出し」でt... 続きを読む

» REDHANDSのアイコン作成(REDHANDS)~のトラックバック

このサイトのFaviconを新しくしました 同様のデザインで大きなサイズのアイコンも作りました。 大きなサイズのアイコンはこんなところに使います。... 続きを読む

コメントする


画像の中に見える文字を入力してください。

このブログ記事について

このページは、Naohiko Uenoが2008年1月13日 07:30に書いたブログ記事です。

ひとつ前のブログ記事は「FleFlaのアイコン作成」です。

次のブログ記事は「コリン・ムックの「今から始める ActionScript 3.0 - WORLD WIDE TOUR 」」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.0