Ads by Google

¾åµ­¤Î¹­¹ð¤Ï£±¥ö·î°Ê¾å¹¹¿·¤Î¤Ê¤¤¥Ö¥í¥°¤Ëɽ¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¿·¤·¤¤µ­»ö¤ò½ñ¤¯»ö¤Ç¹­¹ð¤¬¾Ã¤»¤Þ¤¹¡£
¥¹¥Ý¥ó¥µ¡¼¥É¥ê¥ó¥¯
-- : -- : -- | ¥¹¥Ý¥ó¥µ¡¼¹­¹ð | page top¢¬

¡Ö¥ë¡¼¥×¤Ï¥Ý¥¤¥ó¥¿»È¤Ã¤¿Êý¤¬Â®¤¤¡×¤È¤Ï¸Â¤é¤Ê¤¤

C¸À¸ì¤ÇÇÛÎó¤Î³ÆÍ×ÁǤؽçÈ֤˥¢¥¯¥»¥¹¤¹¤ë¤¿¤á¤Ë¡¢index¤òÍѤ¤¤Æ¥ë¡¼¥×¤ò²ó¤¹¼¡¤Î¤è¤¦¤Ê¥³¡¼¥É¤ò¤·¤Ð¤·¤Ð½ñ¤¯¤È»×¤¤¤Þ¤¹¡£


  int i;
  for(i=0; i < SIZE; i++)
    /* ¤³¤ÎÃæ¤Ça[i]¤È¥¢¥¯¥»¥¹¤¹¤ë¡£*/

¤·¤«¤·¡¢¼¡¤Î¤è¤¦¤Ë¥Ý¥¤¥ó¥¿¤òÍѤ¤¤Æ¥ë¡¼¥×¤ò²ó¤¹¥³¡¼¥É¤ò»þÀÞÌܤˤ·¤Þ¤¹¡£


  int *p;
  for(p=&a[0]; p!=&a[SIZE]; p++) sum = (*p)*(*p);
    /* ¤³¤ÎÃæ¤Ç*p¤È¥¢¥¯¥»¥¹¤¹¤ë¡£*/

¤³¤Î¥³¡¼¥Ç¥£¥ó¥°¤ÎÍýͳ¤È¤·¤Æ¤Ï¡Ö¥Ý¥¤¥ó¥¿¤ò»È¤Ã¤¿Êý¤¬Â®¤¤¤«¤é¡£¡×¡ÖC¸À¸ì¤é¤·¤¯¤Æ¤«¤Ã¤³¤¤¤¤¤«¤é¡£¡×¤Ê¤É¤¬¼ç¤À¤È»×¤¤¤Þ¤¹¤¬¡¢¸å¼Ô¤Ï¤È¤â¤«¤¯¤È¤·¤ÆÁ°¼Ô¤Î¼çÄ¥¤Ï¾ï¤ËÀµ¤·¤¤¤È¤Ï¸Â¤ê¤Þ¤»¤ó¡£

³Î¤«¤Ë¡¢ÀΤÏindex¤Ç¥ë¡¼¥×¤ò²ó¤·¤ÆÅº¤¨»ú¤ò»È¤Ã¤ÆÇÛÎ󤨥¢¥¯¥»¥¹¤¹¤ë¤è¤ê¤â¡¢¥Ý¥¤¥ó¥¿¤ò»È¤Ã¤Æ¥ë¡¼¥×¤ò²ó¤·¤¿Êý¤¬¹â®¤Ë¼Â¹Ô¤Ç¤­¤¿¤è¤¦¤Ç¤¹¡£¤·¤«¤·¡¢¸½ºß¤Ï¥³¥ó¥Ñ¥¤¥é¤¬ºÇŬ²½¤ò´èÄ¥¤Ã¤Æ¤¯¤ì¤ë¤Î¤Ç¤É¤Á¤é¤Î¥³¡¼¥É¤â®ÅÙ¤ËÂ礷¤¿º¹¤Ï¤Ê¤¤¤«¡¢¤à¤·¤í¡¢¥Ý¥¤¥ó¥¿¤Ç¥ë¡¼¥×¤ò²ó¤¹¤Ê¤É¶Å¤Ã¤¿¥³¡¼¥É¤ò½ñ¤¯¤ÈºÇŬ²½¤Î˸¤²¤È¤Ê¤Ã¤Æ¤·¤Þ¤¤¡¢·ë²Ì¤È¤·¤Æindex¤ò»È¤Ã¤Æ¥ë¡¼¥×¤ò²ó¤¹¥³¡¼¥É¤è¤êÄ㮤ˤʤäƤ·¤Þ¤¦¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£

¼ÂºÝ¤Ë¼Â¸³¤ò¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£¤³¤³¤Ç¤Ï¼¡¤Î¤è¤¦¤ÊÇÛÎó¤ÎϤò·×»»¤¹¤ë¥×¥í¥°¥é¥à¤Ç·×¬¤ò¤·¤Þ¤¹¡£


#include < stdio.h >
#include "clock.h"
#define SIZE 1024
#define LOOP 1024

void func_i(int *a, int *dest) {
  int i, sum=0;
  for(i=0; i < SIZE; i++) sum += a[i];
  *dest = sum;
}

void func_p(int *a, int *dest) {
  int *p, sum=0;
  for(p=&a[0]; p!=&a[SIZE]; p++) sum += (*p);
  *dest = sum;
}

int main() {
  int i, a[SIZE], dest;
  double tclock, iclock, pclock;

  for(i=0; i < SIZE; i++) a[i] = i;

  start_counter();
  func_i(a, &dest);
  iclock = get_counter();

  for(i=0; i < LOOP; i++) {
    start_counter();
    func_i(a, &dest);
    tclock = get_counter();
    if(tclock < iclock) iclock = tclock;
  }
  
  printf("--- Index Code ---\n");
  printf(" clock = %f dest = %d\n", iclock, dest);
  
  start_counter();
  func_p(a, &dest);
  pclock = get_counter();

  for(i=0; i < LOOP; i++) {
    start_counter();
    func_p(a, &dest);
    tclock = get_counter();
    if(tclock < pclock) pclock = tclock;
  }

  printf("--- Pointer Code ---\n");
  printf(" clock = %f dest = %d\n", pclock, dest);

  return 0;
}

¥×¥í¥°¥é¥à¤ÎÀèÆ¬¤Çinclude¤·¤Æ¤¤¤ë¥Ø¥Ã¥À¥Õ¥¡¥¤¥ëclock.h¤ÏCPU¤Î¥¯¥í¥Ã¥¯¿ô¤ò¬Äꤹ¤ë¤¿¤á¤Î´Ø¿ôstart_counter()¤Èget_counter()¤ò¸Æ¤Ó½Ð¤¹¤¿¤á¤Î¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤Ç¤¹¡£Ë¿Âç³Ø¤Î¼ø¶È¤ÇÍѤ¤¤é¤ì¤Æ¤¤¤ë¤â¤Î¤Ê¤Î¤Ç¡¢ÉáÄ̤ÎÊý¤Ï¤³¤Î¥×¥í¥°¥é¥à¤ò¥³¥Ô¥Ú¤·¤Æ¤½¤Î¤Þ¤Þ¥³¥ó¥Ñ¥¤¥ë¤·¤è¤¦¤È¤¹¤ë¤È¥¨¥é¡¼¤¬¤Ç¤Þ¤¹¡£

for(i=0; i < LOOP; i++)
¤È¤¤¤¦¥ë¡¼¥×¤ò²ó¤·¤Æ²¿ÅÙ¤â¬Äê¤ò·«¤êÊÖ¤·¡¢¤½¤ÎºÇ¾®Ãͤò¼è¤Ã¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤Ï¡¢Â¬ÄêÃæ¤Ë¤Û¤«¤Î½èÍý¤Î³ä¤ê¹þ¤ß¤¬È¯À¸¤·¤ÆÃÙ¤¯¤Ê¤ë¤³¤È¤Ï¤¢¤ë¤¬¡¢ÍýÁÛŪ¤ÊÃͤè¤ê¶öÁ³Â®¤¯¤Ê¤ë¤È¤¤¤¦¤³¤È¤Ï¤Ê¤¤¤¿¤á¤Ç¤¹¡£

¼Â¹Ô·ë²Ì¤ò°Ê²¼¤Ë¼¨¤·¤Þ¤¹¡£


$ ./a
--- Index Code ---
 clock = 8955.000000 clock/element = 8.745117 dest = 523776
--- Pointer Code ---
 clock = 8538.000000 clock/element = 8.337891 dest = 523776

ÉáÄ̤˥³¥ó¥Ñ¥¤¥ë¤ò¤·¤Æ¼Â¹Ô¤·¤¿¾ì¹ç¤Ï¡¢¥Ý¥¤¥ó¥¿¤Ç²ó¤¹¤Û¤¦¤¬¼ã´³¤Ç¤Ï¤¢¤ê¤Þ¤¹¤¬Â®¤¤¤È¤¤¤¦·ë²Ì¤¬¤Ç¤Þ¤·¤¿¡£

¼¡¤Ë¡¢gcc¤ÎºÇŬ²½¥ª¥×¥·¥ç¥ó(-O2)¤ò¤Ä¤±¤Æ¥³¥ó¥Ñ¥¤¥ë¤·¤¿¼Â¹Ô¥Õ¥¡¥¤¥ë¤òÁö¤é¤»¤Þ¤·¤¿¡£


$ ./a
--- Index Code ---
 clock = 2161.000000 clock/element = 2.110352 dest = 523776
--- Pointer Code ---
 clock = 2176.000000 clock/element = 2.125000 dest = 523776

¥³¥ó¥Ñ¥¤¥é¤ÎºÇŬ²½¤Ë¤è¤ê¡¢2¤Ä¤Î¥³¡¼¥É¤Î®Å٤ϤۤÜÅù¤·¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤·¤¿¡£¤µ¤é¤Ë¤è¤¯¸«¤ë¤È¡¢index¤Ç¥ë¡¼¥×¤ò²ó¤¹Êý¤¬¤ï¤º¤«¤Ç¤Ï¤¢¤ê¤Þ¤¹¤¬¡¢¥Ý¥¤¥ó¥¿¤Ç²ó¤¹¤è¤ê®¤¤¤È¤¤¤¦·ë²Ì¤Ë¤Ê¤ê¤Þ¤·¤¿¡£

¤³¤Î¤è¤¦¤Ë¡¢¸½ºß¤Ï¥Ý¥¤¥ó¥¿¤ò»È¤Ã¤Æ¥ë¡¼¥×¤ò²ó¤¹¥³¡¼¥É¤âindex¤Ç²ó¤¹¥³¡¼¥É¤â¼Â¹Ô®ÅÙ¤ËÂ纹¤Ï¤Ê¤¯¡¢¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï¥³¥ó¥Ñ¥¤¥é¤ÎºÇŬ²½¤Ë¤è¤Ã¤Æindex¤ò»È¤Ã¤¿¥³¡¼¥É¤ÎÊý¤¬¡Ê¤ï¤º¤«¤Ë¤Ç¤Ï¤¢¤ê¤Þ¤¹¤¬¡Ë®¤¤¤³¤È¤µ¤¨¤¢¤ë¤Î¤Ç¤¹¡£

¬Äê´Ä¶­

»ä¤¬Â¬Äê¤ËÍѤ¤¤¿¥Þ¥·¥ó¤Î¼ç¤Ê¥¹¥Ú¥Ã¥¯¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£¤³¤Î¼Â¸³¤Î·ë²Ì¤Ï´Ä¶­¤Ë¤è¤Ã¤Æ¤³¤È¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£

  • CPU : Pentium M ¥×¥í¥»¥Ã¥µÄ¶ÄãÅ۵ÈÇ 753
  • RAM : 1024MB
  • ¥³¥ó¥Ñ¥¤¥é : gcc (GCC) 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)

»²¹Í¤Ë¤·¤¿½ñÀÒ

C¸À¸ì¥Ý¥¤¥ó¥¿´°Á´À©ÇÆ (ɸ½à¥×¥í¥°¥é¥Þ¡¼¥º¥é¥¤¥Ö¥é¥ê)
C¸À¸ì¥Ý¥¤¥ó¥¿´°Á´À©ÇÆ (ɸ½à¥×¥í¥°¥é¥Þ¡¼¥º¥é¥¤¥Ö¥é¥ê)Á°¶¶ ÏÂÌï

µ»½ÑɾÏÀ¼Ò 2001-01
Çä¤ê¾å¤²¥é¥ó¥­¥ó¥° : 4923
¤ª¤¹¤¹¤áÊ¿¶Ñstar


Amazon¤Ç¾Ü¤·¤¯¸«¤ë
by G-Tools

C¸À¸ì¤Î½ñÀÒ

¥×¥í¥°¥é¥ß¥ó¥°¸À¸ìC ANSIµ¬³Ê½àµò
¥×¥í¥°¥é¥ß¥ó¥°¸À¸ìC ANSIµ¬³Ê½àµòB.W. ¥«¡¼¥Ë¥Ï¥ó D.M. ¥ê¥Ã¥Á¡¼ ÀÐÅÄ À²µ×

¶¦Î©½ÐÈÇ 1989-06
Çä¤ê¾å¤²¥é¥ó¥­¥ó¥° : 3998
¤ª¤¹¤¹¤áÊ¿¶Ñstar


Amazon¤Ç¾Ü¤·¤¯¸«¤ë
by G-Tools
¿·ÈÇ ÌÀ²òC¸À¸ì ÆþÌçÊÔ
¿·ÈÇ ÌÀ²òC¸À¸ì ÆþÌçÊÔ¼ÆÅÄ˾ÍÎ

¥½¥Õ¥È¥Ð¥ó¥¯¥¯¥ê¥¨¥¤¥Æ¥£¥Ö 2004-08-28
Çä¤ê¾å¤²¥é¥ó¥­¥ó¥° : 2193
¤ª¤¹¤¹¤áÊ¿¶Ñstar


Amazon¤Ç¾Ü¤·¤¯¸«¤ë
by G-Tools
¥¹¥Ý¥ó¥µ¡¼¥É¥ê¥ó¥¯

¥Æ¡¼¥Þ:¥×¥í¥°¥é¥ß¥ó¥° - ¥¸¥ã¥ó¥ë:¥³¥ó¥Ô¥å¡¼¥¿ - ¥½¡¼¥·¥ã¥ë¥Ö¥Ã¥¯¥Þ¡¼¥¯: ¤³¤Îµ­»ö¤ò¥¯¥ê¥Ã¥×¡ª Yahoo!¥Ö¥Ã¥¯¥Þ¡¼¥¯¤ËÅÐÏ¿

00 : 36 : 04 | ¥×¥í¥°¥é¥ß¥ó¥°¡ÝC/C++ | ¥È¥é¥Ã¥¯¥Ð¥Ã¥¯(0) | ¥³¥á¥ó¥È(2) | page top¢¬
<<ÇÛÎó¤Îꤍ»ú¥Á¥§¥Ã¥¯(°ÂÁ´¤ÊJava¤È¼«¸ÊÀÕǤ¤ÎC¸À¸ì¡Ë | ¥Û¡¼¥à | SQL¤Ë¤ª¤±¤ë¡Ö¸ºß¸¡ºº(EXISTS)¡×¤È¡ÖIN½Ò¸ì¡×¤Î°ã¤¤>>
¥³¥á¥ó¥È
´ÉÍý¿Í¤Î¤ß±ÜÍ÷¤Ç¤­¤Þ¤¹
¤³¤Î¥³¥á¥ó¥È¤Ï´ÉÍý¿Í¤Î¤ß±ÜÍ÷¤Ç¤­¤Þ¤¹
by: * 2008/02/14 01:51 * [ ÊÔ½¸] | page top¢¬

¡ä´ÉÍý¿Í¤Î¤ß¤Ë¸«¤¨¤ë¥³¥á¥ó¥È¤ò²¼¤µ¤Ã¤¿Êý

¤´»ØÅ¦¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹¡£

ÃѤº¤«¤·¤¤¥ß¥¹¤ò¤·¤Æ¤¤¤Þ¤·¤¿¡ä¡ã
¤½¤·¤Æ¡¢¥³¡¼¥É¤òÊѹ¹¤·¤Æ¼Â¹Ô¤·¤Æ¤ß¤¿¤é»ä¤Î´Ä¶­¤Ç¤âÄ̾ï»þ¤Ï¥Ý¥¤¥ó¥¿ÈǤÎÊý¤¬Â®¤¯¤Ê¤ê¤Þ¤·¤¿¡£

¤½¤³¤Ç¡¢µ­»ö¤ò²ÃÉ®¡¦½¤Àµ¤·¤Þ¤·¤¿¡£¤Þ¤¿¡¢¤½¤ì¤Ëȼ¤Ã¤Æ¡¢Æó¾èϤòµá¤á¤ë´Ø¿ô¤ò¡Ê°ì¾è¡ËϤòµá¤á¤ë´Ø¿ô¤ËÊѹ¹¤·¤Þ¤·¤¿¡£

º£¸å¤Ï¤Ê¤ª¤¤¤Ã¤½¤¦Àµ³Î¤Êµ­»ö¤ò½ñ¤¯¤è¤¦¤ËÅØ¤á¤Þ¤¹¤Î¤Ç¡¢¤³¤ì¤«¤é¤â¡Ö¾ðÊó²Ê³Ø¤ò³Ø¤ÖÂç³ØÀ¸¤Î¥Ö¥í¥°¡×¤ò¤è¤í¤·¤¯¤ª´ê¤¤¤·¤Þ¤¹¡£
by: TBVector * 2008/02/14 17:49 * URL [ ÊÔ½¸] | page top¢¬

¥³¥á¥ó¥È¤ÎÅê¹Æ














´ÉÍý¼Ô¤Ë¤À¤±É½¼¨¤òµö²Ä¤¹¤ë

¥È¥é¥Ã¥¯¥Ð¥Ã¥¯
¥È¥é¥Ã¥¯¥Ð¥Ã¥¯URL
¢ªhttp://networkprogramming.blog18.fc2.com/tb.php/12-9def3917
¤³¤Îµ­»ö¤Ë¥È¥é¥Ã¥¯¥Ð¥Ã¥¯¤¹¤ë(FC2¥Ö¥í¥°¥æ¡¼¥¶¡¼)
| ¥Û¡¼¥à |

¥×¥í¥Õ¥£¡¼¥ë

Author:TBVector

¥×¥í¥Õ¥£¡¼¥ë

¥á¡¼¥ë¥Õ¥©¡¼¥à

µ­»ö¸¡º÷

Google

ºÇ¶á¤Îµ­»ö

¿Íµ¤¤Îµ­»ö

²áµî¤Îµ­»ö

¥«¥Æ¥´¥ê¡¼

¥¿¥°¥é¥ó¥­¥ó¥°

¥ê¥ó¥¯

ºÇ¶á¤Î¥³¥á¥ó¥È

ºÇ¶á¤Î¥È¥é¥Ã¥¯¥Ð¥Ã¥¯

¥¢¥¯¥»¥¹¥«¥¦¥ó¥¿