1*10^-9秒の世界

Filed in prog

 最近お仕事で数十~数百ナノセカンドの世界で戦ってます。
 守秘義務があるので詳しくはいえませんが、アセンブリとにらめっこでどうやれば一命令減るか。増えても良いから重い命令減らないか。ロードの直後に参照みたいな待ちの入る処理なくならないか。そんな事考えてます。
 今やっているのが組み込み機器向けの画像処理なので1クロック減るとずいぶん違うんですよね。画像のサイズが320*240だとしたら単純に1ピクセルずつコピーするだけでも76800回ループが回る訳です。組み込み機器ではPCと違ってまだ低クロックですから、割と高速で200MHzと仮定しても1クロックが2*10^-8秒。76800クロックなら384*10^-6秒。ループの中の処理が3クロック減ると1ミリセカンド速くなる計算です。
 素直に組んだルーチンと比べると既に四倍以上の速度向上を果たしてるんですが、それでもまだ足りてません。もうちょっとこの苦難は続きそうです。
 今週ずっとそんな感じなんですが、ひと段落したら家でVC相手に復習してわんくまの方にエントリこさえます。手動最適化に興味のある方お楽しみに。


Warning: sprintf() [function.sprintf]: Too few arguments in /home/users/2/lolipop.jp-dp07042166/web/wordpress/wp-includes/widgets.php on line 1042
Oenology Post Formats
Click to view/hide

Warning: sprintf() [function.sprintf]: Too few arguments in /home/users/2/lolipop.jp-dp07042166/web/wordpress/wp-includes/widgets.php on line 1042
Posts Calendar
Click to view/hide
2007年2月
« 11月   3月 »
 123
45678910
11121314151617
18192021222324
25262728  

Warning: sprintf() [function.sprintf]: Too few arguments in /home/users/2/lolipop.jp-dp07042166/web/wordpress/wp-includes/widgets.php on line 1042
アーカイブ
Click to view/hide

Warning: sprintf() [function.sprintf]: Too few arguments in /home/users/2/lolipop.jp-dp07042166/web/wordpress/wp-includes/widgets.php on line 1042
最近の投稿
Click to view/hide