anti scroll

ブラウザと小説の新しい関係を模索する

Rust

HomebrewからMacPortsへの移行でハマった部分(主にRust周り)

2023年の中旬ごろ、HomebrewがBigSurなどの古いMacOSをサポートから外してしまいました。 しばらくは「なんとかなるさ!」と使っていたのですが、半年もしないうちに重要なパッケージが更新できなくなり… 特に痛かったのは、libheifが更新できなくなって、Im…

作品の長さに関係なく、高速に作品が表示されるようになりました

非同期処理への対応 少し前にブログで「wasmではjsと非同期のやり取りをするのが難しい」と書いたのですが、この技術的な課題をなんとか解決できたので、組版の完了したページを(全ページの計算の完了を待たずに)表示できるようになりました。 これによっ…

WebAssembly導入の効果をプラットフォーム別に比較してみた

先日、縦書き文庫の組版エンジン(nehan)をRustで書き直し、WebAssembly化したと報告しました。 tategakibunko.hatenablog.com その際に「約3倍の速度向上があった」と書いたのですが、あれから約2週間分の利用者のログをもとに、プラットフォーム別に速度…

nehan(縦書き文庫の組版エンジン)をWebAssembly化することで、約3倍の高速化を達成しました

縦書き文庫の組版エンジンであるnehan(js製)をRustで書き換え、WebAssemblyで実行したところ、約3倍の高速化に成功しました。 現時点ですでに運用されています。 感想としては「本当は10倍ぐらい速くなって欲しかったけど、そこまでは速度が出ずにトホホ……