スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

c++:値の直接入力とポインタ入力の比較

値を直接入力するのとポインタを使って入力するのでは
どれ位時間が違うのかを比較してみました。

意図したことが試せているか微妙ですが
以下、サンプルと結果です。

ポインタのほうが3倍以上速いようです。

経験では実際のプログラミングになってくると
もっと差がでてくるように思えます。
2次元配列などを使うと時間がかかるのでしょうか?
良く分かりませんがとりあえず今は
極力ポインタで演算を行うようにしています。


1,000,000個の配列に値を代入した比較。

pointer_test_1.jpg

#include <stdio.h>
#include <time.h>
#include <tnt_array1d.h>//TNTライブラリを使用

// main 関数
int main()
{
int n = 10000000; // サイズ
int i;

printf( "値を直接代入\n") ;
clock_t t1 = clock() ; //開始時刻を代入
TNT::Array1D<double> p1(n);
for (i=0; i<n; i++)
{
p1[i] = 0.0; // 0..
}
printf( " %lf[s]\n", (double)( clock() - t1 ) / CLOCKS_PER_SEC ) ; //現在の時刻と開始時刻の差を秒で表示


printf( "値をポインタで代入\n") ;
clock_t t2 = clock() ; //開始時刻を代入
TNT::Array1D<double> p2(n);
double *p_p2 = p2;
for (i=0; i<n; i++)
{
p_p2[i] = 0.0; // 0..
}
printf( " %lf[s]\n", (double)( clock() - t2 ) / CLOCKS_PER_SEC ) ; //現在の時刻と開始時刻の差を秒で表示

return 0;
}


スポンサーサイト

コメントの投稿

非公開コメント

カレンダー
10 | 2017/11 | 12
- - - 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 30 - -
プロフィール

uglab

Author:uglab
ソフト開発会社

【Twitter】
フォローお願いします

【You tube動画一覧】
チャンネル登録お願いします


最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
FC2カウンター
検索フォーム
スポンサードリンク
    【スポンサードリンク】

リンク
RSSリンクの表示
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。