06. 技術オタクの生態
「うぅ……また怒られました……リジェクトです……」
その日の午後。 若手の田中が、涙目で黒川の席から戻ってきた。
「ドンマイ。なんだって?」
「……『変数定義をデカい順に並べ替えろ』って」
「あー……。出た、『黒川ルール』。異常にうるさいんだよな」
「ですよね!? アルファベット順のが見やすいじゃないですか。ただの好みの押し付けですよ、横暴です!」
田中が佐藤に愚痴るのを、結衣は静かに聞いていた。 そして、田中のモニターを覗き込む。
「……いいえ、田中さん。それは好みではなく、最適化の問題です」
「えっ、芽上さん?」
「このメモリレイアウトは、ハードウェアの制約に対する最短経路です。現在の定義では、各変数の間に計12バイトの無駄な隙間が発生しています」
「12バイトの隙間……? な、なにか問題あるんですか?」
「この構造体は毎秒数千万回実行される描画ループ内で参照されます。たった12バイトの肥大化が原因で、CPUのキャッシュに収まるデータ件数が25%減少します。これは、システム全体の不調和に直結する、致命的なバグです」
結衣の説明に、田中の口がポカンと開く。
少し離れた席で、黒川の背中がピクリと動く気配がした。
―― ピロン。
続いて、佐藤の端末に、通知が飛ぶ。
「……うわ、僕のもリジェクトだ。ええと、コメントは……。『動的継承すんな』……? ええ……せっかく綺麗にクラス設計したのになぁ……」
「佐藤さん、それは仮想関数の呼び出しコストを懸念されているのかと」
「えっ?」
「このモジュールでは、1ミリ秒の遅延も許されません。黒川さんは、美しさよりも、実行速度の極限を求めています。――『抽象化は速度の邪魔だ』。そう仰りたいのでしょう」
淀みない結衣の言葉に、今度は佐藤が絶句した。だが、彼女の「解析」は留まることを知らない。
「加えて佐藤さん。ここ、IF文による条件分岐がネストされていますが、『ビット演算でのフラグ処理』に書き換えるべきです」
「えっ……。ビット演算って……あの、なんで……?」
「現代のCPUは、次にどの命令を実行するかを予測して動いていますから。複雑な分岐条件はCPUの予測を狂わせ、パイプラインに深刻なストールを発生させます。――重要なのは、CPUに道を示し、迷いなく導くこと。最短距離の命令で演算のハーモニーを奏でれば――おのずと『理の臨界』に触れることでしょう」
「……え、ええと……。つまり……?」
「つまり、あと128マイクロ秒、削れます」
その時、ガタッと椅子を引く音がした。
二人が振り向くと、黒川が、驚きを隠せない顔でこちらを見ていた。
その目は、いつもの不機嫌な独裁者のものではなく、同じ「言語」を話せる仲間を見る目だった。
「……んだよ、お前。少しは分かってんじゃねぇか」
言葉はぶっきらぼうだが、その声には隠し切れない期待と親愛が滲んでいる。
それは、黒川の固く厳重に閉ざされた心の扉が、ほんの少しだけ開いた瞬間だった。
一方、その二人を遠巻きに見ていた田中と佐藤は―――。
(こ、この人たち……)
(完全に、同類の――技術オタクだ……!)
新たな脅威の誕生を前にして、別の意味で心を一つにしていた。
◇
その夜。駅前の居酒屋で、開発二課による結衣の歓迎会が開かれた。
「だよな!? フレームワークもローコードも基本ありきだ! だから今の若いヤツはダメなんだよ! Pythonの前にCを……いや! アセンブラでレジスタ叩いてから出直してこいっつーんだ! なぁ、芽上!」
黒川がビールジョッキ片手に、隣に座る結衣に嬉しそうに話しかける。アルコールが入った彼は、昼間の気難しさが嘘のように上機嫌だった。
「うわ……完全にできあがってる……。あのテンション、徹夜明けで酔いが一気に回ったんだ……」
「ていうか時代が違いますよねー。32歳にして、あの老害感……年齢サバ読んでませんー?」
その対面に座る佐藤と田中が、ヒソヒソとささやき合う。
「そこぉ、聞こえてんぞ! 時代の問題じゃねぇ! 精神性の話をしてんだよ、俺はぁ! ちゃんとブラックボックスの中身を見ろっつってんだ!」
黒川は二人を一睨みしてクダを巻いたかと思うと、一転、相好を崩した。そして、遠慮会釈もなく、結衣の細い肩をバシバシと叩く。
「その点、コイツはいい! 見てくれだけじゃねぇ、ちゃんと中身がある! お前らも見習えよ!」
「恐縮です」
結衣は黒川の猛打を柳に風と受け流す。そして、店員が運んできた新しいジョッキを受け取ると、グイッと傾けた。その気配に、黒川が何気なく横を向く。
「なんだ、お前。すげぇ飲みっぷりじゃ――」
言いかけた言葉が、喉の奥で消えた。
―― コク、コク、コク……
視界の先で、真っ白な喉元が艶めかしく躍動する。
ジョッキを置き、ふう、と熱を帯びた吐息をつく彼女。その頬は、ほんのりと上気していた。
ふいに、結衣が黒川を見上げ、バッチリと視線がかち合う。
「……っ」
黒川は、弾かれたように視線を逸らした。
(……今更だが、近ぇ! つか、顔がいい……! 調子狂うな、くそ!)
耳の裏が熱くなるのを感じ、誤魔化すように目の前のトングを握りしめた。
「ど、どんどん食えよ! エンジニアは体力勝負だ。そんな細っせぇナリじゃやってけねぇからな!」
言いながら、手当たり次第に唐揚げやポテトを掴んで隣の皿に放り込んでいく。
――その瞬間。
それまで涼しい顔でビールを飲んでいた結衣の肩が、ピクリと揺れた。
結衣の計算されつくした取り皿。その神聖な「酢の物」の領域が、油分によって汚染されている。
(酢と油……極性溶媒と非極性溶媒による、混沌―― )
結衣の瞳に、不穏な色が浮かんだ。
(これは……『完全なる秩序』に対する冒涜……許されざる愚行です……!)
その向かいの席では、佐藤と田中がヒソヒソと言葉を交わし合っている。
「あの……あれ、口説いてます? 止めなくて平気ですか?」
「いや……テンパってるだけだ。慣れない美人との会話でメモリが枯渇している。見守るしかない」
その指摘通り、黒川の精神状態は限界を迎えていた。 隣から漂い始めた異様な圧力に、心臓が早鐘を打ち始める。
(なんだ!? 見られてる……!? ヤベェ、変な汗かいてきた……!)
黒川は無造作に手を伸ばして、目の前のビールジョッキを引っ掴んだ。そのまま、グイッと一気に煽る。
「……それは私のジョッキです」
「ブッ!」
黒川がビールを吹き出しそうになる。日ごろから鬱憤が溜っていた田中は、これみよがしに非難の声を上げた。
「あー! やめましょうよ、黒川さん。 今、令和ですよ? それ完全にアウトですー」
「ちっ、ちげぇよ! 狙ったわけじゃ……! 」
「またまたー。意識してるのバレバレですよー。芽上さん、美人ですからねー」
「……ッ! つーか減るのが早すぎんだよ! さっき来たばっかで、もう空になりかけてるとか思わねぇだろ!」
「『待ち行列理論』の応用です」
結衣は事もなげに言い放つ。
「飲み放題のグラス交換制システムにおいて、最大のボトルネックは店員の『配膳遅延』です。よって、時間内の飲酒総量を最大化するため、店内のトラフィックから配膳時間を逆算し、次のジョッキが到達する瞬間にグラスが空になるように『飲酒ペース』を最適化しているのです」
「……は?」
結衣が手元の空ジョッキを掴んだ、その0.1秒後。
「お待たせしました、追加の生ビールですー」
背後から店員の声がした。あまりに完璧なタイミングだ。
結衣がスッと手を伸ばすのを遮り、真っ赤になった黒川が声を張り上げた。
「飲み過ぎだ、ペース配分を考えろ! そのウーロン茶こっちに回してくれ! あとオレンジジュース! 大至急!」
ドンッ!
有無を言わさず、ウーロン茶と――ご丁寧にストローが添えられた子供用のオレンジジュースが、結衣の前に並べられた。
結衣の無表情が、深化する。
それは、もはや「0」を超えた、「NULL(虚無)」だった。
(……不快指数が閾値を突破。これ以上の不合理な干渉は――看過できません!)
――プツン。
それは、「女神の慈悲」という名の安全装置が、物理的に焼き切れた音だった。




