今日の作業

10:52 - Acoveaの準備

現状のリリース用MPlayerのビルドに要する時間は約4分。んで、Acoveaのデフォルト設定だと2000回ほどベンチマークが実行される。このままでは解析完了まで約6日も掛かってしまう。とてもそんなには待てないが、有意な結果を出すためにも試行回数を減らすわけにはいかない。なんとかビルド&テストの時間を削っていこう。

とりあえず、MPlayerを実行してベンチマークを取るときに、頭から600フレームしか再生しないようにする。このへんにも動きの激しいシーンがあるので、テスト対象としては十分だろう。実行時間は約10秒。

configureのオプションに--disable-featuresを追加しまくって、自動判別に掛かる時間とコンパイルするソースの数を軽減する。この時点で1分ほど速くなり、約3分でビルドが終わるようになった。

まだ全然遅いので、libavcodec, libmpcodecs, libaf, libmpdemux あたりのMakefileをいじって必要の無いコーデック、フィルタなどを外す。ソースコードも改変しなければならなく大変だった。

その甲斐もあり、約1分10秒ほどでビルドが完了するようになる。解析完了までの時間は約44時間ってとこか。まぁ待てなくもない。ちなみにMPlayerの実行バイナリサイズは2MB。

あとはdistccをかますくらいしか思いつかないけど、面倒だからいいや。忙しくてザウルスを触れないときに解析を開始しよう。あー、その前にとりあえず試行回数500回程度で解析してみるかな。

13:17

ひとまず -p 3 -n 15 -g 10 で解析を始めてみた。予定通りに10時間ぐらいで終わるといいんだけど。

23:18

起床。お、終わってる。

Acovea 5.0.1 (compiled May  3 2005 13:14:54)
Evolving Better Software

Invented by Scott Robert Ladd         (scott.ladd@coyotegulch.com)
            Coyote Gulch Productions  (http://www.coyotegulch.com)

  test application: benchmarks/almabench.c
       test system: colinux
config description: gcc 3.4 XScale
test configuration: config.acovea
    acovea version: 5.0.1
   evocosm version: 3.0.0
   test start time: 2005 May 03 13:17:28

  # of populations: 3
   population size: 15
     survival rate: 10% (2)
    migration rate: 5% (1)
     mutation rate: 1%
    crossover rate: 100%
   fitness scaling: sigma
generations to run: 10
random number seed: 2005182686
      testing mode: speed

                                                                                                                      • -
generation 1 begins population 1: ............... population 2: ............... population 3: ............... generation 1 complete, average fitness: 9.81951
                                                                                                                      • -
generation 2 begins population 1: ............... population 2: ............... population 3: ............... generation 2 complete, average fitness: 9.74976
                                                                                                                      • -
generation 3 begins population 1: ............... population 2: ............... population 3: ............... generation 3 complete, average fitness: 9.51822
                                                                                                                      • -
generation 4 begins population 1: ............... population 2: ............... population 3: ............... generation 4 complete, average fitness: 9.30889
                                                                                                                      • -
generation 5 begins population 1: ............... population 2: ............... population 3: ............... generation 5 complete, average fitness: 9.30929
                                                                                                                      • -
generation 6 begins population 1: ............... population 2: ............... population 3: ............... generation 6 complete, average fitness: 9.28091
                                                                                                                      • -
generation 7 begins population 1: ............... population 2: ............... population 3: ............... generation 7 complete, average fitness: 9.19164
                                                                                                                      • -
generation 8 begins population 1: ............... population 2: ............... population 3: ............... generation 8 complete, average fitness: 9.15393
                                                                                                                      • -
generation 9 begins population 1: ............... population 2: ............... population 3: ............... generation 9 complete, average fitness: 9.16951
                                                                                                                      • -
generation 10 begins population 1: ............... population 2: ............... population 3: ............... generation 10 complete, average fitness: 9.20342 Acovea completed its analysis at 2005 May 03 21:32:16 Optimistic options: -fno-thread-jumps (1.718) -fdelete-null-pointer-checks (1.718) -ffinite-math-only (1.857) Pessimistic options: -funit-at-a-time (-2.177) -fno-align-loops (-1.76) -fno-align-labels (-1.62) -fmove-all-movables (-1.62) -fno-inline (-2.177) -funroll-all-loops (-2.177) Acovea's Best-of-the-Best: /home/atty/zaurus/mplayer/acovea-conf -O1 -mcpu=xscale -mtune=xscale -fno-defer-pop -fno-thread-jumps -fno-guess-branch-probability -fno-if-conversion2 -fno-delayed-branch -fcrossjumping -fcse-skip-blocks -fgcse -fstrength-reduce -frerun-cse-after-loop -frerun-loop-opt -fschedule-insns -fschedule-insns2 -fdelete-null-pointer-checks -freorder-blocks -freorder-functions -fsched-interblock -fsched-spec -fno-align-functions -finline-functions -frename-registers -fomit-frame-pointer -ffloat-store -fprefetch-loop-arrays -ftracer -funroll-loops -funsafe-math-optimizations -fno-trapping-math -ffinite-math-only -fno-signaling-nans Acovea's Common Options: /home/atty/zaurus/mplayer/acovea-conf -O1 -mcpu=xscale -mtune=xscale -fno-defer-pop -fno-thread-jumps -fno-guess-branch-probability -fcse-skip-blocks -fgcse -frerun-loop-opt -fschedule-insns2 -fdelete-null-pointer-checks -freorder-functions -fsched-interblock -finline-functions -frename-registers -fomit-frame-pointer -ffloat-store -fprefetch-loop-arrays -ftracer -ffinite-math-only -O1: /home/atty/zaurus/mplayer/acovea-conf -O1 -mcpu=xscale -mtune=xscale -O2: /home/atty/zaurus/mplayer/acovea-conf -O2 -mcpu=xscale -mtune=xscale -O3: /home/atty/zaurus/mplayer/acovea-conf -O3 -mcpu=xscale -mtune=xscale -O3 -ffast-math: /home/atty/zaurus/mplayer/acovea-conf -O3 -ffast-math -mcpu=xscale -mtune=xscale -Os: /home/atty/zaurus/mplayer/acovea-conf -Os -mcpu=xscale -mtune=xscale A relative graph of fitnesses: Acovea's Best-of-the-Best: ******************************** (8.555) Acovea's Common Options: ********************************** (9.253) -O1: ********************************* (8.961) -O2: *********************************** (9.383) -O3: *********************************** (9.332) -O3 -ffast-math: *********************************** (9.374) -Os: ************************************************** (13.26) Acovea is done.

おぉ、なかなかいいかも。これは世代数を増やしてもう一度やらねば。