ようやく「日本はなぜ繁栄し,なぜ衰退したのか」を書き上げて終了。
最初は「日本はなぜ繁栄し,なぜ衰退し,どう逆転するか」という題で書き始めたが,あまりにも長くなったので後半は「日本はどう逆転するか」に分割することにした。
いまデライトでは,「高速化」の作業に最優先で取り組んでいる。その理由やデライトの現状については,昨日,「デライト高速化前の現状整理」にまとめた。そちらは個人的な覚え書きだが,興味があれば覗いてみて欲しい。
今日は,デライトの「速さ」の歴史について簡単に振り返ってみたい。
「デライトはなぜ速いのか」という題に,デライト用者は少し違和感を覚えるかもしれない。個人知識管理(PKM)サービスとしてのデライトは,速いと言えるほど速くはない。せいぜい「並」だ。ただ,並の速さで動いているのが奇跡的に「速い」と言えるほど,実装難度が高いのだ。普通に実装すれば,遅過ぎてまず実用にならないだろう。
サービスとしてのデライトは,「デルン」という全く独自の CMS で動いている。Wikipedia に対してウィキがあるようなものだと思ってもらえばいい。このデルンの実用化に成功したのは,希哲6(2012)年,もう9年ほど前のことだ。
実は,最初にデルンが動いた時,使っていた論組言語は PHP だった。そして,あまりにも遅かった。ある程度の形が出来たあと,すぐに C++ で書き直した。
これが出来たのは,当然,準備していたからだ。元々,デルン開発にあたっては速度を重視していた。それは体感出来る速さのためというより,「遅さで使いものにならない」事態を避けるためだった。ほとんど前例が無く,全てが未知数・手探りという状況だったので,そもそもデルンのようなものが現実的に実装可能なのかどうかすら分からなかった。作ってみたがまともに動かない……これを最悪の事態と想定していた。
そうなると,利用する技術は少しでも速い方が良かった。手探りの開発過程でいわゆる技術的負債が蓄積していくことも想定していたため,それを補ってくれるだけの速さが必要だった。言語で言えば,今なら Rust あたりも選択肢に入ったかもしれないが,デルンを構想し始めた当時は C++ くらいしか無かった。
一方で,当時の私はウェブ開発の経験に乏しく,デルンに何が必要なのか把握出来ていなかった。そこで,PHP を使って試作品を作ってみることにしたわけだ。
案の定,PHP で出来たデルンは実用的な速度で動かず,すぐに準備していた C++ に切り替えた。この移行作業は円滑に進み,やがて Cμ という独自言語に変貌していく。
今のデライトは,この Cμ に FastCGI のマルチスレッド,nginx 等々と徹底的に速度を重視した構成で動いている。PostgreSQL の出場(DB)側も Cμ で外充て(ストアド)函数にしている。徹底して単純化された設計も手伝い,ほぼ極限まで高速化出来る可能性がある。
これまでのデライトにとって,「速さ」は遅さを補うためのものだった。そして今,この速さを武器にするために高速化作業を進めている。どうせやるなら,有名な dev.to や『阿部寛のホームページ』のように,速さを楽しんでもらえるくらいにしたいと思っている。是非楽しみにしていてほしい。