Conversation
Notices
-
ikeji (ikeji@ostatus.ikeji.ma)'s status on Wednesday, 16-Aug-2023 19:43:32 JST ikeji RubyはGCが保守的だからjemallocが効くってのは聞いたことあるけど、Misskeyはnodeだったよな。nodejsもそうなんかな。
んで、Rustに移行するとか言ってたけど、Rustになったらそういうのなくなるのかな?-
ikeji (ikeji@ostatus.ikeji.ma)'s status on Thursday, 17-Aug-2023 00:43:47 JST ikeji @atsushieno Webサーバー用途だと、アリーナ使うのが簡単になったりしないのでしょうか?そこまでがんばる事になるかわからないですが。 -
Atsushi Eno (atsushieno@mastodon.cloud)'s status on Thursday, 17-Aug-2023 00:43:48 JST Atsushi Eno @ikeji GCだけの問題ではなくアロケーター全般の問題だけど、Rustに移行したとしてもどういうアロケーターを使うかっていう問題にはなって、ただRustではデフォルトでは(executableに対しては)jemallocを使うので ( https://doc.rust-lang.org/1.9.0/book/custom-allocators.html )、 結果的にはjemallocで差し替えるのと同じことになるんでしょう多分
-
ikeji (ikeji@ostatus.ikeji.ma)'s status on Thursday, 17-Aug-2023 00:48:07 JST ikeji @atsushieno まって、そもそもnodejsはイベントループベースでスレッドじゃないんじゃ。なんでnodejsにjemallocが効くのかよくわからなくなってきました。 In conversation permalink -
ikeji (ikeji@ostatus.ikeji.ma)'s status on Thursday, 17-Aug-2023 11:08:20 JST ikeji @atsushieno Webサービスでメモリの断片化が進むのは、処理時間が異なる別のリクエストへのメモリ確保が混ざるからだと思ってましたが、
オーバーヘッドが増える代わりに速いというトレードオフを受け入れるだけでも意味があるんですね。勉強になりました。In conversation permalink -
Atsushi Eno (atsushieno@mastodon.cloud)'s status on Thursday, 17-Aug-2023 11:08:21 JST Atsushi Eno @ikeji jemallocのメリットが一番効いてくるのは並列処理なんだろうけど、シングルスレッドでも、nodeのランタイムや標準ライブラリ(ネイティブコードも含む)の実装に対して、メモリ断片化とかシステムコール回数の削減みたいな各種の実装最適化が地味に効いてくる余地は、まあまああるように思います
In conversation permalink
-