週に一回は書きますよ 月に4つ記事を書けばノルマは満たされます。
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

途中経過です。詳しいことは省略。

とりあえずpattern, templateは結構酷使されることがわかったので、なるべく軽くしてみようとlistで確保。

プロファイル。例によって詳細は続きに。実行時間が17秒とか減りました。効果ありです。といってもたいした改善にはなっていません。実時間で測定したところ102秒でした。

プロファイリングで時間のかかるところがわかったとはいえ、改善はまだまだこれからの模様です。次はRNAをすぐ出力したり、searchを速くしてみたりしてみます。

ところで、プロファイルの結果に経過時間の絶対値が出ないのは、あまりよくないような気がします。コードの変更でどの程度速度が向上したかわかりません。そのような情報も出すオプションがあるかも知れませんが。

Thu Aug 09 22:07 2007 Time and Allocation Profiling Report  (Final)

   Dna2rna.exe +RTS -K67108864 -p -RTS

total time  =      157.65 secs   (3153 ticks @ 50 ms)
total alloc = 41,771,058,628 bytes  (excludes profiling overheads)

COST CENTRE     %time %alloc

matchR           17.6   11.1
consumeNat       13.2   19.7
consumeTemplate  11.9   21.0
matcher          11.6    7.2
replaceBase      10.4   12.9
replacer          7.8    4.6
consumePattern    7.5    8.3
searchSequence    4.5    5.1
replaceProtect    3.6    2.4
executeOnceIO     2.1    1.1
matchSkip         1.4    0.6
main              1.4    2.4
debugPrintTag     1.1    0.1
quoteDNA          0.9    1.4


                                  individual    inherited
COST CENTRE             entries  %time %alloc   %time %alloc

MAIN                           0   0.0    0.0   100.0  100.0
 CAF                           7   0.0    0.0   100.0  100.0
  main                         1   1.4    2.4   100.0  100.0
   executeIO                   1   0.9    0.3    98.5   97.6
    executeOnceIO        1891886   2.1    1.1    96.5   97.1
     matchReplace        1891886   0.1    0.0    59.5   45.9
      replacer           1552573   7.8    4.6    23.4   21.8
       replaceAsNat       137776   0.1    0.1     0.4    0.5
        asNatDNA          137776   0.3    0.4     0.3    0.4
       replaceBase      57382383  10.4   12.9    10.4   12.9
       replaceProtect    2326892   3.6    2.4     4.8    3.8
        protector        2507144   0.3    0.0     1.2    1.4
         quoteDNA         180252   0.9    1.4     0.9    1.4
      matcher            1891886  11.6    7.2    36.0   24.1
       matchSearch        187608   0.0    0.0     4.5    5.1
        searchSequence    187608   4.5    5.1     4.5    5.1
       matchBase          606147   0.9    0.0     0.9    0.0
       matchR            2192755  17.6   11.1    17.6   11.1
       matchL            2532068   0.0    0.1     0.0    0.1
       matchSkip         3788862   1.4    0.6     1.4    0.6
     cerrTemplate        1891886   0.0    0.0     0.7    0.1
      debugPrintTag      1891886   0.3    0.0     0.6    0.1
       debugStr          1891886   0.3    0.0     0.3    0.0
       debugPrint        1891886   0.1    0.0     0.1    0.0
     consumeTemplate     1891886  11.9   21.0    13.1   22.8
      consumeNat         5470186   1.2    1.8     1.2    1.8
     cerrPattern         1891886   0.1    0.0     0.4    0.1
      debugPrintTag      1891886   0.2    0.0     0.4    0.1
       debugStr          1891886   0.1    0.0     0.1    0.0
       debugPrint        1891886   0.1    0.0     0.1    0.0
     consumePattern      1891886   7.5    8.3    19.8   26.6
      consumeConst        187608   0.1    0.1     0.1    0.1
      sequence2list      2419600   0.2    0.4     0.2    0.4
      consumeNat         3788862  12.1   17.9    12.1   17.9
     outputRNA           4086222   0.9    0.4     0.9    0.4
     cerrDNA             1891886   0.0    0.0     0.0    0.0
    debugPrintTag        1891886   0.7    0.1     1.1    0.1
     debugStr            1891886   0.2    0.0     0.2    0.0
     debugPrint          1891886   0.2    0.0     0.2    0.0
 CAF                           5   0.0    0.0     0.0    0.0
スポンサーサイト
コメント
この記事へのコメント
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
http://gusmachine.blog49.fc2.com/tb.php/209-dc491995
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。