2006-01-09から1日間の記事一覧

メモリ使いすぎ 2

クエリ応答でmax値を計算するだけして、それを見ずにヒットするだけ全部キー情報を作って送っていた・・・。 前は大丈夫だったんだけど、年末に作り直したときのミス。これは結構影響してそう。

メモリ使いすぎ 2 〜謝罪〜

正直ね、GCがまじめに働いていないと思っていたよ。 だってね、メモリの管理をしなくてもいいってGCが言っているので、本当にしなかったら、どうみてもメモリリークしてます。 なんでね、もうD言語やめて、C++で書き直そうかと本気で考えたよ。 プログラムに…

メモリ使いすぎ 3

http://d.hatena.ne.jp/riesling/20060109/p1 一度拡張された領域は、縮小しないらしい。私が、GCを変だと思っていた原因のひとつに次のような現象ありました。 検索ヒットの数の多いキーワードで検索したときに、大量の検索結果データを作るのでごわーと使…

メモリ使いすぎ 4 〜 GCの単純なテスト 〜

試してみたよ。 import std.stdio; import std.gc; import std.random; import std.md5; import std.thread;int main() { debug(b1) { uint optval = 0; test1(&optval); } debug(b2) { uint optval = 1; test1(&optval); } debug(b3) { uint optval = 1; Th…

メモリ使いすぎ 5

タスクのベースクラスのポーズで自分で自分のポーズを呼び出した場合(ポエニーの場合はイベント待ち行列に並ぶとき)に前回のfullCollectから一定時間以上たっていたらfullCollectを呼ぶようにした。 かなりいい感じ。 キー数5000以上になっても使用メモリ…

メモリ使いすぎ 6

debug(b5) { uint optval1 = 0, optval2 = 1; Thread t1 = new Thread(&test1, &optval1); t1.start(); test1(&optval2); t1.wait(); } スレッドの親がfullCollectしていたら、大丈夫?

メモリ使いすぎ 7

メインの処理をループ内で呼び出す関数の中に全部入れて、何度か試した結果適切と思われる位置(関数内の処理の最後)にfullCollectをいれたところ、20MBを超えることがなくなった。 といっても、まだ1時間ほどしか動いてないけど。 今までは1時間後にはもの…

cabos

p2p

cabos というソフト使ってみた。 ユーザインターフェースがシンプルでいい感じ。きれい。 ネットワークはGnutellaらしい。始めてGnutellaを使った。 検索に有効期間のようなものがあって、ある程度検するとやめている感じがいいなーと。 静かな接続だなーと…

Error: divide by zero

-O オプションをつけると、0除算エラーが出てる。 -Oをつけないと出ない。 コンパイラがバグってる。コンパイルできない。 追記 ソースがでかすぎてどこが原因でそうなるかぜんぜん分からない・・・。 今のところは、そう問題ないのだけど。