今日も一日プログラミング。測定したデータをメモリ上に保持するか、メモリマップドファイルでHDD上に確保するかを切り替えられるようにした。HDD上で保持するのはデータサイズが数百から数GBになる測定を実現する必要があるから。ここしばらくのコーディングは全てその準備に関係している。
データの記憶領域の切り替えはすんなり実装できたので、次はそこにデータを正しく格納する手順を考えなければならない。実はここが今回の最大の難所である。ソフトウェアは、複数の種類の異なる測定を平行して行うことができ、それぞれの測定に適した方法でデータを格納し、表示・ファイル保存がなければならない。測定ごとにデータの並びやデータが転送されてくる速さが異なるし、画面表示のための読み出し速度やファイルに保存するときに必要になるパラメータも異なる。しかも処理にあまり時間がかけてもいけない。パソコン側でのデータ処理を悠長にやっていては、測定装置の組み込みCPUがリアルタイムでひっきりなしに送ってくるデータを取りこぼしてしまうからだ。
考えるだけで頭がくらくらする。これまでも多様な測定データをどう効率的に格納するかが頭痛の種になっていた。オートマトンの考え方を応用すればもっとシンプルな解決方法があるような気はしているのだが、オートマトン関連の理解が不十分なため手をつけられずにいる。