アカウント名:
パスワード:
メモリーも大量に使えるようになってきたので・・・最小確保単位が128byteととかでなく1024byteとかでも問題なくなり始めている、そこでガベコレもmallocも、専用CPUを1つ搭載して、各種処理を裏側でやってしまうと良いのではと思っている。大半のオブジェクトやスタックフレームを格納できる程度のサイズ(1024byte程度)を、バックグラウンドで100個くらい確保してあらかじめ溜め込んでおく。そして、malloc要求が来たら、1024byte以下のサイズを要求された場合、あらかじめ確保しておいたメモリーの先頭番地を返すだけ、それ以上のサイズの要求が来たらソフトウェ
「あらかじめ確保しておいたメモリーの先頭番地を返すだけ」、「free要求が来たら、とりあえず解放キューに追加する」、どちらも、汎用命令セット上にロックフリーなデータ構造で実装できることです。1クロックとまではいきませんが、僅かな命令数で書けます。あとのバックグラウンド処理はCPUの暇なコアにスレッドを割り当てて実行すればよく、わざわざ専用CPUを作る必要性が見いだせません。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
目玉の数さえ十分あれば、どんなバグも深刻ではない -- Eric Raymond
mallocは、ハードウェアで実装すれば良いのにと思っている (スコア:0)
メモリーも大量に使えるようになってきたので・・・
最小確保単位が128byteととかでなく1024byteとかでも問題なくなり始めている、そこで
ガベコレもmallocも、専用CPUを1つ搭載して、各種処理を裏側でやってしまうと良いのではと思っている。
大半のオブジェクトやスタックフレームを格納できる程度のサイズ(1024byte程度)を、バックグラウンドで100個くらい確保してあらかじめ溜め込んでおく。
そして、malloc要求が来たら、1024byte以下のサイズを要求された場合、あらかじめ確保しておいたメモリーの先頭番地を返すだけ、それ以上のサイズの要求が来たらソフトウェ
Re:mallocは、ハードウェアで実装すれば良いのにと思っている (スコア:0)
「あらかじめ確保しておいたメモリーの先頭番地を返すだけ」、「free要求が来たら、とりあえず解放キューに追加する」、どちらも、汎用命令セット上にロックフリーなデータ構造で実装できることです。1クロックとまではいきませんが、僅かな命令数で書けます。あとのバックグラウンド処理はCPUの暇なコアにスレッドを割り当てて実行すればよく、わざわざ専用CPUを作る必要性が見いだせません。