¾ðÊó²Ê³Ø¤ò³Ø¤ÖÂç³ØÀ¸¤¬¥×¥í¥°¥é¥ß¥ó¥°(C¸À¸ì,Java¤Ê¤É)¡¢¥Í¥Ã¥È¥ï¡¼¥¯¡¢»ñ³Ê»î¸³(¾ðÊó½èÍýµ»½Ñ¼Ô»î¸³,CCNA)¤Ê¤É¤Ë´Ø¤¹¤ëµ»ö¤ò½ñ¤¤¤Æ¤¤¤Þ¤¹¡£
¡ädiv()¤Ë¤ª¤¤¤Æ¡¢¤¢¤é¤«¤¸¤áʬÊì(c.re*c.re + c.im*c.im)¤ò·×»»¤·¤Æ°ì»þÊÑ¿ôdenominator¤Ë³ÊǼ¤·¤Æ¤¤¤ë¤Î¤Ï¡¢¤³¤Î·×»»¤ò2ÅÙ¹Ô¤¦¤È¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤¬Äã²¼¤¹¤ë¤¿¤á¤Ç¤¹¡£¤³¤Î¤è¤¦¤Ë¡¢Ê£¿ô²ó¥ª¥Ö¥¸¥§¥¯¥È¤ò»²¾È¤¹¤ë¾ì¹ç¤Ï¤½¤ÎÃͤò°ì»þÊÑ¿ô¤Ë³ÊǼ¤¹¤ë¤³¤È¤Ç¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤¬¸þ¾å¤·¤Þ¤¹¡£¤È¤Î¥³¥á¥ó¥È¤ò¤¤¤¿¤À¤¤¤¿¤Î¤Ç¡¢¤³¤ì¤ò¸¡¾Ú¤·¤Æ¤ß¤Þ¤·¤¿¡£
¤³¤ì¤Ç¤¹¤¬¡¢¤³¤ì¤ÏËÜÅö¤Ç¤¹¤«¡© ºÇŬ²½½èÍý¤ÎÃʳ¬¤Ç¤Þ¤È¤á¤é¤ì¤¿¤ê¤Ï¤·¤Ê¤¤¤ó¤Ç¤¹¤«¡©¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤¬¸þ¾å¤·¤Þ¤¹¤È¤¤¤¦¤Î¤Ç¤¢¤ì¤Ð¤Á¤ã¤ó¤È¼Â¸³¤·¤Æ¸¡¾Ú¤¹¤Ù¤¤À¤È»×¤¤¤Þ¤¹¡£
/* ¤³¤Á¤é¤ÎÊý¤¬ÃÙ¤¤¤Èͽ¬¤µ¤ì¤ë¡£*/
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));
}
/* ¤³¤Á¤é¤ÎÊý¤¬Â®¤¤¤Èͽ¬¤µ¤ì¤ë¡£*/
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¤Ë¤è¤Ã¤Æ¤Ê¤µ¤ì¤ëºÇŬ²½¤Ï¤³¤ÎÊýË¡¤Ç¤Ï¸«¤ë¤³¤È¤¬¤Ç¤¤Þ¤»¤ó¡£
¥Æ¡¼¥Þ:¥×¥í¥°¥é¥ß¥ó¥° - ¥¸¥ã¥ó¥ë:¥³¥ó¥Ô¥å¡¼¥¿ - ¥½¡¼¥·¥ã¥ë¥Ö¥Ã¥¯¥Þ¡¼¥¯:
![]()
Author:TBVector
»ä¤Î¥µ¥¤¥È
¥Ö¥Ã¥¯¥Þ¡¼¥¯¤ÈRSS
ͧã¤Î¥µ¥¤¥È
¤¢¤ï¤»¤ÆÆÉ¤ß¤¿¤¤
¤Ï¤Æ¤Ê¥ê¥ó¥°