タグ

2011年2月4日のブックマーク (4件)

  • Cプログラミング診断室

    はじめに 開院準備 昔むかし/ レベル差/ 教育/ ネットワーク/ 情報集め/ 隠すことについて/ プログラムコンテスト/ ドキュメント/ 楽するように/ 手抜きと下手の違い/ 開院 第1部 外来 第1章 普通の初心者 最初から充実した(!?)プログラムが登場 関数を短くし、コメントを改善する 上手になる秘訣/ プログラムの紹介/ 何だ、このプログラムは!!/ 短くするには/ コメントについて/ 無駄な努力をやめよう/ 名前/ 気になる個所/ 修正プログラム/ 課題/ まとめ 第2章 これでもプロ 売りものであるにもかかわらず、超きたない! 構造的な欠陥の指摘〜引数、ポインタの活用 プログラムの紹介/ 「超」基的問題点/ 関数分解/ 構造的欠陥/ 引数を使おう/ ポインタ/ その他/ まとめ(修正プログラム) 第3章 上司が問題 まさに驚異的なプログラムの見というべき 内容の修正から、

  • cross platform development - firewood's diary

    クロスプラットフォームというか、プラットフォーム依存というか、そういうことをよく扱っているのでメモ。基的にC/C++。 メモ プリプロセッサは、未定義の識別子を0として扱う。 従って、#if __GNUC__ >= 3はGCC3以上として使えるが、GCC2系かどうかを#if __GNUC__ < 3で判定しようとすると、GCCでないものも含まれるので注意が必要。 コンパイラ GCCかどうか #ifdef __GNUC__ #if __GNUC__ >= 3 // GCC3.0以上 Visual C++かどうか #ifdef _MSC_VER(VC++以外でも定義されている場合あり) #if _MSC_VER >=1000 // VC++4.0以降 #if _MSC_VER >=1100 // VC++5.0以降 #if _MSC_VER >=1200 // VC++6.0以降 #if _

    cross platform development - firewood's diary
  • C言語: 実行時間測定の方法

    C言語において実行時間を測定する為の方法はいくつかある。gettimeofday, clock, getrusage, timesを利用する方法である。ここではこれらの方法について検証してみる。これは2005/12/30時点での情報であり、古い亊が考えられるので注意して頂きたい。さらに、内容のほとんどはmanを移しただけなので、正確な情報を得るためにそれぞれの関数のmanを見ることを強く推奨する。 System: Linux 2.6.12 glibc: glibc 2.3.5-1ubuntu12 gettimeofdayを使用する方法 通常はこの関数を使用するのをお勧めする。 gettimeofdayはSVr4, BSD 4.3準拠である。返り値の型はsys/time.hに定義されるstruct timevalで有る。

  • SSE.浮動小数点演算手動最適化は本当に効果的なのか - デー

    ちょっと試したので、結果をコピペ。 概要とたてまえ SSEは、x86のSIMD命令セットに含まれる浮動小数点演算の複数同時実行を行う命令セットです。単精度(float)で4つ、倍精度(double)で2つの演算を1命令で実行できるため、うまく使うと繰り返し同じ演算のパフォーマンスアップを期待できます。 Streaming SIMD Extensions - Wikipedia 画像処理や、確率の計算などでは浮動小数点数の計算を数百万回から回数とかいうレベルではなく3日間くらいの規模で行うことがあるので、 少しでも速くなると時間的にとてもうれしい! 計算をどこで妥協するかみたいな部分があるため速く計算を終わらせることでやれることの可能性が広がる! という思いがあります。 CUDAのほうが云々 CUDAは、NVIDIAのGPUが対応しているGPGPUの環境です。GPGPUというのは、グラフィッ

    SSE.浮動小数点演算手動最適化は本当に効果的なのか - デー