Ads by Google

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

¼°¤Î·×»»·ë²Ì¤ò°ì»þÊÑ¿ô¤Ë³ÊǼ¤¹¤ë¤³¤È¤Ë¤è¤ë¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤Î¸þ¾å

¡ÖÉÔÊÑ¥¯¥é¥¹¤È¤·¤ÆÀ߷פ·¤¿Ê£ÁÇ¿ô¥¯¥é¥¹Complex¡ÊJava¤Ë¤è¤ë¼ÂÁõ¡Ë¡×¤ËÂФ·¤Æ¡¢
¡ädiv()¤Ë¤ª¤¤¤Æ¡¢¤¢¤é¤«¤¸¤áʬÊì(c.re*c.re + c.im*c.im)¤ò·×»»¤·¤Æ°ì»þÊÑ¿ôdenominator¤Ë³ÊǼ¤·¤Æ¤¤¤ë¤Î¤Ï¡¢¤³¤Î·×»»¤ò2ÅÙ¹Ô¤¦¤È¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤¬Äã²¼¤¹¤ë¤¿¤á¤Ç¤¹¡£¤³¤Î¤è¤¦¤Ë¡¢Ê£¿ô²ó¥ª¥Ö¥¸¥§¥¯¥È¤ò»²¾È¤¹¤ë¾ì¹ç¤Ï¤½¤ÎÃͤò°ì»þÊÑ¿ô¤Ë³ÊǼ¤¹¤ë¤³¤È¤Ç¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤¬¸þ¾å¤·¤Þ¤¹¡£

¤³¤ì¤Ç¤¹¤¬¡¢¤³¤ì¤ÏËÜÅö¤Ç¤¹¤«¡© ºÇŬ²½½èÍý¤ÎÃʳ¬¤Ç¤Þ¤È¤á¤é¤ì¤¿¤ê¤Ï¤·¤Ê¤¤¤ó¤Ç¤¹¤«¡©¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤¬¸þ¾å¤·¤Þ¤¹¤È¤¤¤¦¤Î¤Ç¤¢¤ì¤Ð¤Á¤ã¤ó¤È¼Â¸³¤·¤Æ¸¡¾Ú¤¹¤Ù¤­¤À¤È»×¤¤¤Þ¤¹¡£
¤È¤Î¥³¥á¥ó¥È¤ò¤¤¤¿¤À¤¤¤¿¤Î¤Ç¡¢¤³¤ì¤ò¸¡¾Ú¤·¤Æ¤ß¤Þ¤·¤¿¡£
Complex¥¯¥é¥¹¤Ë¿·¤¿¤Ë¥á¥½¥Ã¥Énaive_div()¤òÄɲ乤ë¤È¤È¤â¤Ë¡¢Complex¤ÎÆâÉô¥¯¥é¥¹¤È¤·¤Æ¥Æ¥¹¥ÈÍѤΥ¯¥é¥¹ComplexPerformanceTest¤ò¼ÂÁõ¤·¤Þ¤·¤¿¡£¤³¤ì¤ò5²ó¼Â¹Ô¤·¡¢¼¡¤Ë c1.naive_div(c2); ¤ò c1.div(c2); ¤Ë½ñ¤­´¹¤¨¤Æ5²ó¼Â¹Ô¤·¡¢¤½¤ì¤¾¤ì¤Î¼Â¹Ô»þ´Ö¤ò·×¬¤¹¤ë¤³¤È¤Ç¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ÎÈæ³Ó¤ò¹Ô¤¤¤Þ¤·¤¿¡£

¥á¥½¥Ã¥Énaive_div()

/* ¤³¤Á¤é¤ÎÊý¤¬ÃÙ¤¤¤Èͽ¬¤µ¤ì¤ë¡£*/
public Complex naive_div(Complex c) {
  return new Complex(
    (re*c.re + im*c.im)/(c.re*c.re + c.im*c.im),
    (im*c.re - re*c.im)/(c.re*c.re + c.im*c.im));
}

¥á¥½¥Ã¥Édiv()

/* ¤³¤Á¤é¤ÎÊý¤¬Â®¤¤¤Èͽ¬¤µ¤ì¤ë¡£*/
public Complex div(Complex c) {
  double denominator = c.re*c.re + c.im*c.im;
  return new Complex((re*c.re + im*c.im)/denominator,
    (im*c.re - re*c.im)/denominator);
}

¥Æ¥¹¥ÈÍѤΥ¯¥é¥¹

class ComplexPerformanceTest {
  
  public static void main(String args[]) {
    long start[] = new long[100];
    long stop[] = new long[100];
    long time[] = new long[100];
    
    for(int j=0; j<100; j++) {
      start[j] = System.currentTimeMillis();
      for(int i=0; i<1000000; i++) {
        Complex c1 = new Complex(1, 2);
        Complex c2 = new Complex(3, 4);
        c1.naive_div(c2);
      }
      stop[j] = System.currentTimeMillis();
    }
    for(int i=0; i<start.length; i++) {
      time[i] = stop[i] - start[i];
    }
    System.out.println(mean(time));
  }
  
  private static long mean(long l[]) {
    long sum = 0;
    for(int i=0; i<l.length; i++) {
      sum += l[i];
    }
    return sum/l.length;
  }
}

·×¬·ë²Ì

·×¬·ë²Ì¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£5²ó¤È¤â¤¹¤Ù¤Ænaive_div()¤è¤êdiv()¤ÎÊý¤¬Â®¤«¤Ã¤¿¤È¤¤¤¦·ë²Ì¤Ë¤Ê¤ê¤Þ¤·¤¿¡£¤³¤Î¤è¤¦¤Ë¥ª¥Ö¥¸¥§¥¯¥È¤Î»²¾È¤ò´Þ¤à¼°¤ÏJava¤ÎºÇŬ²½¤¬Æ¯¤«¤Ê¤¤¤Î¤Ç¡¢Æ±¤¸·×»»·ë²Ì¤Ë¤Ê¤ë¤È¥×¥í¥°¥é¥Þ¤¬¤ï¤«¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¤½¤ÎÃͤò°ì»þÊÑ¿ô¤Ë³ÊǼ¤·¤Æ¤ª¤¯¤³¤È¤¬Í­¸ú¤Ç¤¹¡£

¥á¥½¥Ã¥É 1²óÌÜ 2²óÌÜ 3²óÌÜ 4²óÌÜ 5²óÌÜ
naive_div() 192 193 192 193 190
div() 185 189 185 183 185

µÕ¥³¥ó¥Ñ¥¤¥ë¤Ë¤è¤ë¸¡¾Ú

º£²ó¤Ï¼ÂºÝ¤Ë¥×¥í¥°¥é¥à¤òưºî¤µ¤»¤Æ¼Â¹Ô»þ´Ö¤ò·×¬¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ÎÈæ³Ó¤ò¹Ô¤¤¤Þ¤·¤¿¤¬¡¢class¥Õ¥¡¥¤¥ë¤òµÕ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¥³¡¼¥É¤¬¥³¥ó¥Ñ¥¤¥ë»þ¤ËºÇŬ²½¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«ÌܤǸ«¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤ÎÊýË¡¤Ë¤è¤ë¸¡¾Ú¤òÊ̤ε­»ö¤Ëµ­¤·¤Þ¤·¤¿¡£¢¨¼Â¹Ô»þ¤ËJavaVM¤Ë¤è¤Ã¤Æ¤Ê¤µ¤ì¤ëºÇŬ²½¤Ï¤³¤ÎÊýË¡¤Ç¤Ï¸«¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£

¥¹¥Ý¥ó¥µ¡¼¥É¥ê¥ó¥¯

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

00 : 41 : 14 | ¥×¥í¥°¥é¥ß¥ó¥°¡ÝJava | ¥È¥é¥Ã¥¯¥Ð¥Ã¥¯(0) | ¥³¥á¥ó¥È(0) | page top¢¬
<<Java¥³¥ó¥Ñ¥¤¥é¤ËºÇŬ²½¤µ¤ì¤¿¥³¡¼¥É¤òµÕ¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¤ß¤ë | ¥Û¡¼¥à | °Õ³°¤ÈÃΤé¤Ê¤¤¡©Microsoft Office¤Î¾®µ»>>
¥³¥á¥ó¥È

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














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

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

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

Author:TBVector

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

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

µ­»ö¸¡º÷

Google

ºÇ¶á¤Îµ­»ö

¿Íµ¤¤Îµ­»ö

²áµî¤Îµ­»ö

¥«¥Æ¥´¥ê¡¼

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

¥ê¥ó¥¯

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

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

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