1日の評価を変える高速化

土曜日です。


ヤクの効果で花粉ダメージが低減されたのはよかったのですが、反動で眠気とおなかのゆるさがありました。厳しい。なんとか定型業務(ピアノとNavarro本読み)はやりました。

リルリルフェアリル妖精のドア(第一部であることを明示的に示した)の最終回を見ました。総集編的なものでした。やはり立て続けに第二部がはじまるのは厳しいものがあるのでしょうか。ところで第二部は視聴を見送ろうかなあ、という気持ちでいます。もちろん有益なアニメだったのですが、私はさらなる有益作品を見出すために「今世紀最高」レベルでない作品の続編は後回しにするようにしています。


前述の通り、ヤクの副作用で調子がでなかったので無限にFE覚醒をやっていました。20章まで終わりました。なぜこのゲームの敵は無計画に突っ込んでくることしかしないのか。謎です。


日が変わってから、おもむろにNavarro本のコード書きをやっていたらcompact bit vertorがさらに高速化されました。これまではblock単位でdecodeしてから欲しいbitを取り出していたのですが「これもしかしてdecode中に欲しいbitを取得できるのでは」という気づきがあり、実践したら見事高速化されたのでした。

最初の適当実装(fixed length vector)の10倍速くなっており、最初に適当にやるとどんどんよくなっていく快感が得られるということがわかりました。しかしこの考えは「不良が更生したら褒められた」メソッドであり他人に使ってはならないのです。自分の気持ちを高めるためだけに利用したいものです。

access time(msec)(naive): 3
access time(msec)(compressed/ fixed length vector): 232
access time(msec)(compressed / unsigned char): 106
access time(msec)(compressed / const reference): 38
access time(msec)(compressed / bit decode): 22

github.com


1日の最後に圧倒的成果があり最高の気分で眠りにつけそうです。寝ます。