Mail: Pass:
前月  2008年2月  翌月
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29

links

 びびすけさんのページ
 体重・走距離分析
 月間・靴・コース走距離
 タイムトライアル分析
 速度・心拍数分析
 自転車・月間・コース走距離
 オセロ勝敗・レート分析
 ViVi web site

新着日記

 はじめての AIR プログラム(汎用…
 モカ将棋 0.005 リリース
 座標がずれる
 壁にぶちあたった
 Laramie V1 に勝ち越し!
 vs Laramie V1 10番勝負
 モカ将棋10番勝負 (2)
 開発マシンが死んだ!?
 vs Lesserkai 1.3.2 10番勝負
 TJshogi にも初勝利
 Lesserkai 1.3.2 (1秒)に初勝利!
 将棋大会 地区予選
 プレイアウト結果の信頼性
 vs ランダム将棋
 moca将棋
 ViVi 2.05

新着コメント

 無題/ひらた
 直った/びびすけ
 vs Laramie V2/びびすけ
 vs LaramieV1 10…/びびすけ
 vs TJshogi 0.03…/びびすけ
 vs ランダム将…/びびすけ
 vs TJshogi 0.03/びびすけ
 羽生×山崎/びびすけ
 ボナ×渡辺竜王/びびすけ
 羽生×山崎 戦/びびすけ

トラックバック

トラックバックはありません。

カテゴリ一覧

 基本データ
 テニス
 ジョギング
 ViVi
 自転車
 Web
 RunRunDietOnline
 PostgreSQL
 ビルドアップ走
 ランニング

2件の日記があります。

cout << CString (2008/02/26 12:27) 0 comment

cout << と CString の相性が悪いみたいだ。
以下のコードを実行すると、なんだか変な文字列が表示される。

  CString text("abc\n");
  cout << text;

以下のようにすると大丈夫だ。

  cout << (const char *)text;


毎回キャストするのは面倒なので、operator<<(ostream &, const CString&) をオーバライドしておけば、面倒がない
と思ったのだが、operaor<<(ostream &, const CString&) はコンパイルエラーになる。
ostream の operaor<< が private になってるのが原因みたいなのだが、どう対処したらいいんじゃろう?

object_pool を使用した行管理ク… (2008/02/26 13:24) 4 comment

object_pool がかなり高速で簡単に使用できるので、テキストエディタの行管理クラスに使用して、パフォーマンスを測定してみることにした。
双方向リンクと CString をメンバに持つ CLineNode を双方向リンクで保持する CLineMgr を定義し、1万行のテキストを生成し、
行管理オブジェクトに追加する処理の時間を計測してみた(@VC6 リリースモード, C2D 3GHz, Mem2G, WinXP)

[1] 固定文字列を追加する場合:0.781ミリ秒
[2] 行ごとに異なる文字列を追加する場合:5.125ミリ秒
ちなみに、[3] 行ごとに異なる文字列を生成するだけの場合:3.406ミリ秒
(ソースコードは こちら


ちなみに、object_pool を使用しない場合の結果は以下のとおり
[1] 固定文字列を追加する場合:10.531ミリ秒
[2] 行ごとに異なる文字列を追加する場合:26.407ミリ秒
[3] 行ごとに異なる文字列を生成するだけの場合:3.442ミリ秒

object_pool を使用すると約10倍高速になっていることがわかる

2件の日記があります。

パスワード忘れ
今週のランキング
計算タマちゃん
FAQ
ヘルプ
about rrdOnline