Hacker's Delight
今月はHacker's Delightを買いました。
かなり以前から欲しいと思っていた本なのですが、後回しになっていました。
内容はまだほとんど読んでいないですが、
ビット演算だけでびっくりするようなことをしています。
計算速度が要求されるようなプログラムを書く人にとってはすごく参考になる本です。
今月はHacker's Delightを買いました。
かなり以前から欲しいと思っていた本なのですが、後回しになっていました。
内容はまだほとんど読んでいないですが、
ビット演算だけでびっくりするようなことをしています。
計算速度が要求されるようなプログラムを書く人にとってはすごく参考になる本です。
メンバ関数テンプレートの挙動を、とある引数に対してのみ変更したい場合の選択肢としてテンプレートの特殊化とオーバーロードがあります。
struct ClassA {
// メンバ関数テンプレート
template<typename T> void Func(T value) {
...
}
// テンプレートの特殊化
template<> void Func<int>(int value) {
...
}
// オーバーロード
void Func(float value) {
...
}
};struct ClassA {
// テンプレートメンバ関数
template<typename T> void Func(T value) {
...
}
};#include "ClassA.h"
// テンプレートの特殊化
template<> void ClassA::Func<int>(int value) {
...
}
VisualCは何年か使ってますが、全然しりませんでした。
あまりの衝撃にこっちにもメモw
クイックウォッチでエラーコードとその内容を表示する
内容がないのもなんなので、追記。
例外が発生した箇所でBreakしたい場合は、「デバッグ」メニューの「例外」で設定することができます。(Visual C++ .NET 2003)
指定した例外以外にも色々な特殊な状況でBreakしたりしなかったりが設定できます。
1080iのビデオ(解像度は1920 x 1080)のトランジション処理をGPUにさせるとします。
ビデオデータの転送量は
1920 x 1080 x 4Byte(32bpp) x 30fps = 248,832,000 Byte/sec
です。
トランジションは入力が2つ、出力が1つ発生するので、入力に474MB/s、出力に237MB/s、計711MB/sのデータ転送が発生します。
| 各種バスの転送速度 | |
|---|---|
| PCI 33MHz | 133MB/s |
| PCI 66MHz | 533MB/s |
| AGP 1x | 266MB/s |
| AGP 2x | 533MB/s |
| AGP 4x | 1.06GB/s |
| AGP 8x | 2.13GB/s |
| PCI Express 1x | 500MB/s |
| PCI Express 2x | 1GB/s |
| PCI Express 4x | 2GB/s |
| PCI Express 8x | 4GB/s |
| PCI Express 12x | 6GB/s |
| PCI Express 16x | 8GB/s |
| PCI Express 32x | 16GB/s |
プログラミングMicrosoft DirectX9 グラフィックスパイプライン
という本をプレゼントされました。DirectX9シェーダの本です。
シェーダには興味がありつつもまだ手をつけていなかったので、
これを機にぼちぼちやっていこうかなーという感じです。
クリティカルセクションの実行コストは軽いと聞きますが
実際にどれくらいのコストがかかるのか計測してみました。
最近、毎月1冊と決めて専門書を買っています。
今月は以前から欲しかった Exceptional C++ を購入しました。
まだ3分の1くらいしか読んでいませんが、例外安全について結構勉強になりました。
ほんとにC++ってDeepですよねぇ。潜っても潜っても底が見えないというか。。
© Blogger template 'Isolation' by Ourblogtemplates.com 2008
Back to TOP