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
 ビルドアップ走
 ランニング

コンストラクタの型変換 (2008/02/29 13:20)

あいかわらず行管理クラスのパフォーマンスチェックを行っているのだが、ほんのちょっとしたことで処理時間が倍にもなってしまう
ことがわかったので、忘れないようにここに記述しておく。

1行情報のためのクラスを SLineBody とする。このクラスはコンストラクタ引数に const CString & などを指定することができる。
SLineNode は行情報を双方向リンクで管理するクラス。const SLineBody & を引数に持つコンストラクタを持つ。
したがって、SLineNode(const CString &) コンストラクタを陽に定義しない場合に、
SLineNode(const CString &) でオブジェクトを生成した場合、SLineBody 一時オブジェクトが生成され、
SLineNode(const SLineBody &) コンストラクタがコールされ、その後不要になった 一時オブジェクトが削除される。

固定テキストで100万行を行管理オブジェクトに追加するプログラムを作成し、処理時間を計測すると 93ミリ秒を要した。
次に SLineNode(const CString &) コンストラクタを陽に定義して同様の計測を行うと、結果は 47ミリ秒だった。
(@ウルフデール 3GHz, 2GMem, WinXP, VC6)

なんと、コンストラクタを定義するだけで処理時間が半分になったわけだ。


コメント:

パス ← 半角英字で「abc」と入力してください。
名前
タイトル
コメント

( page views in recent 7 days)

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