マルチコア?
しばらくして僕の魔導書が来たので実験に勤しんだ。
それでわかったのは速度差は命令ではなく文字数だということだ。
宣言文も光魔法の発動も複製の魔法も文字数に処理速度は比例する。
つまり複雑なシーケンスを書けば書くほど遅くなるというわけだ。
「まいったね」
単に画面を文字で埋め尽くすだけであの速度だ。
もっと複雑なシーケンスならもっと時間がかるようになるはず。
とても実用可能とは思えなかった。
「処理速度を早くするにはCPUを早くするか複数のCPUを使うか処理を最適化するかくらいしか対応方法が思いつかない」
方法は三つ。
これが向こうの世界のパソコンなら、CPUを早いのに交換するなり、マルチコアやマルチCPUのマシンを使えば簡単に早くできる。
処理を最適化する方法は時間が掛かるがアセンブラで書き直すかすれば数十倍や数百倍になる。
処理によってはメモリーを増やすのも効果があるかもしれない。
しかし精霊を早いのに交換可能かわからないし、精霊を複数使ってマルチ化とかもできるかどうかもわからない。
最適化にしても精霊語自体が機械語みたいなものだからこれ以上の最適化はアルゴリズムの工夫しか無い。
確か使用する魔石によって中級精霊や上級精霊を使役できると先生は言っていた。
もしかしたら中級精霊や上級精霊ならもっと処理速度が早いかもしれない。
「いや、それはないか。先生の魔導書には中級の魔石が使われているはず。中級の魔石なら中級の精霊を使役しているといっていい。その先生の魔導書でもあの遅さだ。早くなるにしても目に見えるほどではないだろう」
中級精霊となれば戦術級の攻撃魔法を放てるし上級精霊ならそれこそ戦略級だ。
もちろん魔石の質だけでなく使う魔力も半端じゃない。
上級精霊なんて召喚するだけでもとんでもないくらいの魔力を使用するらしい。
子供用の魔導書についている下級魔石ではとても賄えない。
「マルチコアも望み薄だな」
現在マルチタスクっぽい処理を入れている。
それは画面表示部分だ。
キャラクタRAMに相当する部分が書き換えられたら表示を変えるように起動条件を設定しているため、書き換えるシーケンスからディスプレイ表示ルーチンを直接起動していないのだ。
動作としては割り込み近いか。
割り込み動作で別の精霊が呼び出されるのであれば、キャラクタRAMの書き込み速度はディスプレイ表示ルーチンの影響を受けないはずだ。
しかし現実は、ディスプレイ表示ルーチンで無駄な処理を入れるとキャラクタRAMへの書き込み速度が明らかに落ちる。
つまり割り込み処理が終わるのを待ってしまっているということだ。
一つの魔導書に召喚できる精霊は一柱だけということなのだろう。
「魔導書に二柱以上の精霊を呼び出すことができるかもしれないが、それには魔導書の構造から変えないといけないのだろう」
魔導具はそれぞれ個別に動いている。
もし一柱の精霊が世界中の魔導具を動かしていたのでは処理速度がとてつもなく遅くなるはずだ。
だが現実はそうなっていない。
魔導書も魔導具も必ず一つ以上の魔石がはめ込まれている。
僕の魔導書にも魔石が一つ埋め込んであって、これと魔導線で各ページがつながっていた。
「魔石一つにつき一柱の精霊が宿るのであれば複数の魔石を使えば、マルチCPUは実現できるはずだ」
とはいえ個々の精霊同士をどう連携していったらいいか今は思いつかないが、様々な起動条件を設定すれば情報のやり取りくらいはできそうな気がする。
「問題は魔石がとても高価ということだな」
魔石は魔力を保持する性質があり、個々へ精霊を召喚することができる。
魔石には魔力を注入できるが、小さく品質の低い魔石にはあまり多くの魔力は注入できない。
大きく高品質の魔石は大量の魔力を注入できるが、多くは強く危険な魔物を倒す必要があるからとても高価になるのだ。
低品質でもそれなりの値段となるが、生活魔法程度を使うのがせいぜいの出力しか得られない。
僕の魔導書は練習用なので当然低品質の魔石がはめ込まれていて、こまめに魔力を注入しないと、使えなくなってしまう。
成人し貴族として叙爵されれば、中級の魔石を使うことが許可される。
これなら中級精霊を召喚して戦術級の攻撃魔法を放てるようになるわけだ。
「中級の魔石はともかく、下級でも結構するらしいし、魔導書を用意できなくて貴族にするのを諦める親はかなり多いと聞くからね」
下級の魔石だって複数使えばかなり高価になるし、パソコンを作って販売したとて、そうそう買える人はいないだろうし、もちろん僕だって買えない。公爵家とはいえ三男に与えられる予算では好きに買い物など出来はしない。
教育関連や身だしなみを整えるくらいで精一杯だった。
そして教育も身だしなみも貴族としてやっていくつもりならカットすることはできないし、貴族になるのを諦めようものなら、自由になる金どころか、あっさり教会にでもぶち込まれて人生終わりだ。
「詰んだ」
マルチ化が可能だったとして、必要な魔石はおそらく三〇個以上。
画面いっぱいに文字を表示するだけで三〇秒もかかるのだ。
一秒以内に書き終わるようにするにはせめてそのくらいは必要になる。
できるかどうかもわからない。
試してみることすらできない。
僕のジョブズになる計画はここで頓挫してしまうのか?
今でこそ当たり前のマルチコアですが、昔は当然シングルCPUオンリー。
性能はクロックを見ればほぼ分かる、ある意味シンプルな世界でした。
今では様々な最適化技術と、コア数、クロック数など、様々な要因が複合的に絡み、そのアプリがどんな命令を多く使うかで性能が違ってくるので、CPU選定は遥かに難しくなりましたね。
まあ、自分はCPUよりメモリ重視派でしたけど。
いくらCPUが早くなってもHDDに一回アクセスするだけで全部ぶっ飛びますから。
X68000とかCPUを早くできなかったので、限界までメモリ積んで、ディスクキャッシュとRAMディスクなんか入れてました。
CGとかガッツリやらない限り、あんまりCPU性能は必要じゃなかったですからね。
そのポリシーがひっくり返ったのがMHWの存在w
PCでやりたいがためにそこそこのCPUとグラボのマシン買っちゃいましたw
必要は発明、もとい要求仕様の母ですね。