タグ

プログラミングとCPUに関するluccafortのブックマーク (5)

  • 前置インクリメント vs 後置インクリメント | 闇夜のC++

    後置インクリメントにはひと目で遅くなりそうな処理が見て取れますね。 前置インクリメントがインクリメント処理後、単純に自身の参照を返すのに対し、後置インクリメントではインクリメント前に一時オブジェクトの生成、そしてインクリメント後にはその前に生成した一時オブジェクトを値で返しています。 前置と後置では、単純にオブジェクトをコピーして返す分、普通に考えたら後置の方が遅いよね。というのが従来の認識でした。 「C++ Coding Standards -101のルール、ガイドライン、ベストプラクティス」の中でも、特に後置インクリメントの必然性が無い時は迷わず前置インクリメントを使うことが推奨されてきました。 元の値を必要としないときは前置形式の演算子を使おう __C++ Coding Standards (p50) 新たな主張 「ゲームエンジン・アーキテクチャ第二版」の中の一節を紹介します。 しか

    luccafort
    luccafort 2015/04/17
    コンパイラの性能があがったことで今まで常識だと思ってたことが覆されているかもしれないのがなんというか色々興味深い。個人的には後置のほうが好きです、でも象さんはもっと好きです!!!
  • dfltweb1.onamae.com – このドメインはお名前.comで取得されています。

    このドメインは お名前.com から取得されました。 お名前.com は GMOインターネットグループ(株) が運営する国内シェアNo.1のドメイン登録サービスです。 ※表示価格は、全て税込です。 ※サービス品質維持のため、一時的に対象となる料金へ一定割合の「サービス維持調整費」を加算させていただきます。 ※1 「国内シェア」は、ICANN(インターネットのドメイン名などの資源を管理する非営利団体)の公表数値をもとに集計。gTLDが集計の対象。 日のドメイン登録業者(レジストラ)(「ICANNがレジストラとして認定した企業」一覧(InterNIC提供)内に「Japan」の記載があるもの)を対象。 レジストラ「GMO Internet Group, Inc. d/b/a Onamae.com」のシェア値を集計。 2023年5月時点の調査。

    dfltweb1.onamae.com – このドメインはお名前.comで取得されています。
    luccafort
    luccafort 2014/10/14
    全く何もわからない人だとわかりそうでわからない、なんとなくわかったような気になれるような説明になってしまっている気がする。とはいえ自分もうまく説明できる気がしないのでdisってるわけではないのだが。
  • sprintf を最大10倍以上高速化するプリプロセッサ「qrintf」を作った

    最近H2OというHTTPサーバを書いているのですが、プロファイルを取ってみるとsprintfが結構な時間をっていて不満に感じていました。実際、sprintfは数値や文字列をフォーマットするのに十徳ナイフ的に便利なので、HTTPサーバに限らず良く使われる(そしてCPU時間を消費しがちな)関数です。 では、sprintfを最適化すれば、様々なプログラムが より高速に動作するようになるのではないでしょうか。ということで作ったのが、qrintfです。 qrintfは、Cプリプロセッサのラッパーとしてソースコードに含まれるsprintfの呼出フォーマットを解析し、フォーマットにあわせたコードに書き換えることで、sprintfを高速化します。 たとえば、以下のようなIPv4アドレスを文字列化するコード片を sprintf( buf, "%d.%d.%d.%d", (addr >> 24) & 0xf

    luccafort
    luccafort 2014/10/03
    安定して今まで使ってたsprintfだからきっと高速化したくらいじゃ駄目なんだろうなーとか思ったら中身のコード書き換えてないでやんの!
  • 無能なプログラマの特徴

    技術書を買っただけで満足するwブクマするだけで理解した気、分かった気になっているw勉強会(笑)には参加するが復習も実践もしないw一つの言語を使い込めてないのに複数言語に手を出すw流行りの技術に飛びつくけど直に飽きるw専門と断言できる技術領域がないwVisualStudioを貶す割には、パフォーマンス分析とかテストなどの便利機能は使えないwWPFが分からないだけなのに、自前で作る方が偉いと思っているwオーバーヘッドやフットプリントなどデメリットを考えず、すぐにtemplateとか純粋仮想関数を使って可読性を落とすwオブジェクト指向/デザインパタンを何か特別の技術だと思っているw無駄なところにラムダ式を使うwメモリ使用量や計算量の予測ができないw最大負荷を予測した上で始めから対策を取った実装が出来ないwHHKでないと仕事できないwとりあえずVim(笑)を使うw用途もないのにマックブックプロを買

    無能なプログラマの特徴
    luccafort
    luccafort 2013/11/12
    逆に考えるんだ、無能プログラマでも飯が食っていけると!どうも無能プログラマでさーせん。
  • 高専のカリキュラム! 情報工学を体系的に学ぶために高専のカリキュラムをまとめる。 - nigoblog

    今回は「情報工学を体系的にやりてぇな...」という方のために 情報工学を体系的に学べるような記事を書きます。 内容は高専のカリキュラムを時系列にまとめ、参考になった教科書などを! というわけで1年目から書いていきます~ もちろん思い出しながらなのでヌケモレが有りそうですが… 1年目 ここではぶっちゃけ専門はほとんどありませんでした。 やったことは コンピュータ・リテラシー 情報数学 コンピュータ・リテラシー 色々Linuxに触れてみよう的な感じの授業。 最初にセットアップして、Emacsとかコマンドラインとか徹底的にやりました。 バッファの概念とか当時はさっぱりだった気が。 とにかくコマンドラインを使いまくったのでその時やっといて当に良かったなと。 情報数学 何が情報数学なのだかようわからなかったけど、 数列 証明 2進数 不等式 集合論 なんかをやりました。他にも合った気がするけど。

    高専のカリキュラム! 情報工学を体系的に学ぶために高専のカリキュラムをまとめる。 - nigoblog
    luccafort
    luccafort 2013/08/06
    「わかりにくい本を読む練習だ」なるほど、確かに重要だなwww
  • 1