表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

6/18

06. 技術オタクの生態


「うぅ……また怒られました……リジェクト(やりなおし)です……」


その日の午後。 若手の田中が、涙目で黒川の席から戻ってきた。


「ドンマイ。なんだって?」


「……『変数定義をデカい順に並べ替えろ』って」


「あー……。出た、『黒川ルール』。異常にうるさいんだよな」


「ですよね!? アルファベット順のが見やすいじゃないですか。ただの好みの押し付けですよ、横暴です!」


田中が佐藤に愚痴るのを、結衣は静かに聞いていた。 そして、田中のモニターを覗き込む。


「……いいえ、田中さん。それは好みではなく、最適化の問題です」


「えっ、芽上さん?」


「このメモリレイアウトは、ハードウェアの制約に対する最短経路です。現在の定義では、各変数の間に計12バイトの無駄な隙間(パディング)が発生しています」


「12バイトの隙間……? な、なにか問題あるんですか?」


「この構造体は毎秒数千万回実行される描画ループ内で参照されます。たった12バイトの肥大化が原因で、CPUのキャッシュに収まるデータ件数が25%減少します。これは、システム全体の不調和に直結する、致命的なバグです」


結衣の説明に、田中の口がポカンと開く。

少し離れた席で、黒川の背中がピクリと動く気配がした。


―― ピロン。

続いて、佐藤の端末に、通知が飛ぶ。


「……うわ、僕のもリジェクトだ。ええと、コメントは……。『動的継承すんな』……? ええ……せっかく綺麗にクラス設計したのになぁ……」


「佐藤さん、それは仮想関数の呼び出しコストを懸念されているのかと」


「えっ?」


「このモジュールでは、1ミリ秒の遅延も許されません。黒川さんは、美しさよりも、実行速度の極限を求めています。――『抽象化は速度の邪魔だ』。そう仰りたいのでしょう」


淀みない結衣の言葉に、今度は佐藤が絶句した。だが、彼女の「解析」は留まることを知らない。


「加えて佐藤さん。ここ、IF文による条件分岐がネストされていますが、『ビット演算でのフラグ処理』に書き換えるべきです」


「えっ……。ビット演算って……あの、なんで……?」


「現代のCPUは、次にどの命令を実行するかを予測して動いていますから。複雑な分岐条件はCPUの予測を狂わせ、パイプラインに深刻なストールを発生させます。――重要なのは、CPUに道を示し、迷いなく導くこと。最短距離の命令で演算のハーモニーを奏でれば――おのずと『理の臨界』に触れることでしょう」


「……え、ええと……。つまり……?」


「つまり、あと128マイクロ秒、削れます」


その時、ガタッと椅子を引く音がした。


二人が振り向くと、黒川が、驚きを隠せない顔でこちらを見ていた。

その目は、いつもの不機嫌な独裁者のものではなく、同じ「言語」を話せる仲間を見る目だった。


「……んだよ、お前。少しは分かってんじゃねぇか」


言葉はぶっきらぼうだが、その声には隠し切れない期待と親愛が滲んでいる。

それは、黒川の固く厳重に閉ざされた心の扉が、ほんの少しだけ開いた瞬間だった。



一方、その二人を遠巻きに見ていた田中と佐藤は―――。


(こ、この人たち……)

(完全に、同類の――技術オタクだ……!)


新たな脅威の誕生を前にして、別の意味で心を一つにしていた。





その夜。駅前の居酒屋で、開発二課による結衣の歓迎会が開かれた。


「だよな!? フレームワークもローコードも基本ありきだ! だから今の若いヤツはダメなんだよ! Pythonの前にCを……いや! アセンブラでレジスタ叩いてから出直してこいっつーんだ! なぁ、芽上!」


黒川がビールジョッキ片手に、隣に座る結衣に嬉しそうに話しかける。アルコールが入った彼は、昼間の気難しさが嘘のように上機嫌だった。


「うわ……完全にできあがってる……。あのテンション、徹夜明けで酔いが一気に回ったんだ……」

「ていうか時代が違いますよねー。32歳にして、あの老害感……年齢サバ読んでませんー?」


その対面に座る佐藤と田中が、ヒソヒソとささやき合う。


「そこぉ、聞こえてんぞ! 時代の問題じゃねぇ! 精神性の話をしてんだよ、俺はぁ! ちゃんとブラックボックスの中身を見ろっつってんだ!」


黒川は二人を一睨(ひとにら)みしてクダを巻いたかと思うと、一転、相好を崩した。そして、遠慮会釈もなく、結衣の細い肩をバシバシと叩く。


「その点、コイツはいい! 見てくれだけじゃねぇ、ちゃんと中身がある! お前らも見習えよ!」


「恐縮です」


結衣は黒川の猛打を柳に風と受け流す。そして、店員が運んできた新しいジョッキを受け取ると、グイッと傾けた。その気配に、黒川が何気なく横を向く。


「なんだ、お前。すげぇ飲みっぷりじゃ――」


言いかけた言葉が、喉の奥で消えた。


―― コク、コク、コク……


視界の先で、真っ白な喉元が(なま)めかしく躍動する。

ジョッキを置き、ふう、と熱を帯びた吐息をつく彼女。その頬は、ほんのりと上気していた。


ふいに、結衣が黒川を見上げ、バッチリと視線がかち合う。


「……っ」

黒川は、弾かれたように視線を逸らした。


(……今更だが、近ぇ! つか、顔がいい……! 調子狂うな、くそ!)


耳の裏が熱くなるのを感じ、誤魔化すように目の前のトングを握りしめた。


「ど、どんどん食えよ! エンジニアは体力勝負だ。そんな細っせぇナリじゃやってけねぇからな!」


言いながら、手当たり次第に唐揚げやポテトを掴んで隣の皿に放り込んでいく。


――その瞬間。


それまで涼しい顔でビールを飲んでいた結衣の肩が、ピクリと揺れた。

結衣の計算されつくした取り皿。その神聖な「酢の物」の領域が、油分によって汚染されている。


(酢と油……極性溶媒(きょくせいようばい)と非極性溶媒による、混沌(カオス)―― )


結衣の瞳に、不穏な色が浮かんだ。


(これは……『完全なる秩序(わたしのお皿)』に対する冒涜(ぼうとく)……許されざる愚行です……!)


その向かいの席では、佐藤と田中がヒソヒソと言葉を交わし合っている。


「あの……あれ、口説いてます? 止めなくて平気ですか?」

「いや……テンパってるだけだ。慣れない美人との会話でメモリが枯渇している。見守るしかない」


その指摘通り、黒川の精神状態は限界を迎えていた。 隣から漂い始めた異様な圧力(オーラ)に、心臓が早鐘を打ち始める。


(なんだ!? 見られてる……!? ヤベェ、変な汗かいてきた……!)


黒川は無造作に手を伸ばして、目の前のビールジョッキを引っ掴んだ。そのまま、グイッと一気に煽る。


「……それは私のジョッキです」

「ブッ!」


黒川がビールを吹き出しそうになる。日ごろから鬱憤(うっぷん)が溜っていた田中は、これみよがしに非難の声を上げた。


「あー! やめましょうよ、黒川さん。 今、令和ですよ? それ完全にアウトですー」


「ちっ、ちげぇよ! 狙ったわけじゃ……! 」


「またまたー。意識してるのバレバレですよー。芽上さん、美人ですからねー」


「……ッ! つーか減るのが早すぎんだよ! さっき来たばっかで、もう空になりかけてるとか思わねぇだろ!」


「『待ち行列理論』の応用です」


結衣は事もなげに言い放つ。


「飲み放題のグラス交換制システムにおいて、最大のボトルネックは店員の『配膳遅延』です。よって、時間内の飲酒総量(スループット)を最大化するため、店内のトラフィックから配膳時間を逆算し、次のジョッキが到達する瞬間にグラスが空になるように『飲酒ペース』を最適化しているのです」


「……は?」


結衣が手元の空ジョッキを掴んだ、その0.1秒後。


「お待たせしました、追加の生ビールですー」

背後から店員の声がした。あまりに完璧なタイミングだ。


結衣がスッと手を伸ばすのを遮り、真っ赤になった黒川が声を張り上げた。


「飲み過ぎだ、ペース配分を考えろ! そのウーロン茶こっちに回してくれ! あとオレンジジュース! 大至急!」


ドンッ!


有無を言わさず、ウーロン茶と――ご丁寧にストローが添えられた子供用のオレンジジュースが、結衣の前に並べられた。


結衣の無表情が、深化する。

それは、もはや「0」を超えた、「NULL(ヌル)(虚無)」だった。


(……不快指数が閾値を突破。これ以上の不合理な干渉(ウザ絡み)は――看過できません!)


――プツン。


それは、「女神の慈悲」という名の安全装置リミッターが、物理的に焼き切れた音だった。


評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

↑ページトップへ