要するに、Javaで下記コードmyMethod1の変数iやtwiceみたいに、ループの中で変数を宣言するとmyMethod2のようにループの外で宣言するよりコストがかかるんじゃなかろうか、という疑問です。 public void myMethod() { for (int i = 0; i < 10; i++) { int twice; twice = i * 2; System.out.println(twice); } } public void myMethod2() { int i; int twice; for (i = 0; i < 10; i++) { twice = i * 2; System.out.println(twice); } } 私のイメージは、 (言語は違いますが)こちらに書かれているように、変数宣言するのに何らかの命令が発生するので、わずかだがコストは増える
このページでは手島がプログラミングをしていて,「こうした方がプログラムが高速に動作する」と気づいたテクニックを紹介します. 想定している環境はWindows XP(SP2) + (VC++ .NET) + OpenCVです. あまり高度なことは書いていなくて,初心者を想定した内容となっています. アルゴリズム的な改善には触れておらず,実装面でのテクニックです. 画像処理以外のプログラミングに応用できるかどうかは未知です. 経験則やコンピュータの原理的に早くなるテクニックを紹介しているだけなので,間違い,記憶違い,昔は正しかったけれど今は嘘な情報など, 指摘があればまでメールでご連絡下さい. Releaseモードを使う VC++での基本です. ビルド(B)→構成マネージャ(O)→アクティブソリューション構成(A) をDebug→からReleaseに変更します. もしくはツールバーのソ
NTFSファイルシステムにおいて、CRTでは256文字と定義されていますが、CreateFileではワイド文字であれば、32767文字まで指定できるとあります。ちょっと実験してみましょう。 1: void Win32UnicodeName(void) 2: { 3: WCHAR wszLongLongName[] = L"\\\\?\\c:\\temp\\" 4: L"123456789012345678901234567890" 5: L"123456789012345678901234567890" 6: L"123456789012345678901234567890" 7: L"123456789012345678901234567890" 8: L"123456789012345678901234567890" 9: L"12345678901234567890123456789
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く