ç»åã®è²æ°ãæ±ããããã¹ãã°ã©ã ãä½ãããã®ã½ã¼ããããããå®è£ ãã¦ã¿ã
ç»åã®è²æ°ãæ±ããã«ã¯ããã·ã¥çãªãã®ã使ããããã½ã¼ãããæ¹ãéãã¨ãã話ã§ãã
- http://blog.livedoor.jp/junki560/archives/21233822.html
- http://blog.livedoor.jp/junki560/archives/21305807.html
ã¾ãããã¹ãã°ã©ã ãé«éã«ä½ããã¨ããã¨è²ã®æ·±åº¦ã«å¿ãã¦ã¡ã¢ãªãé£ãã¾ããRGBããããã8ãããã ã¨64MBã»ã©ã¡ã¢ãªãé£ãã¾ãã対ãã¦ã½ã¼ãã§ãããã¨ããã¨ãç»ç´ æ°åã ãã§æ¸ãã®ã§ã¡ã¢ãªçã«ãåªããã§ãã
ãããªããã§ãã½ã¼ãã§ããä¸è¨ã§ã¯ã¯ã¤ãã¯ã½ã¼ãã使ã£ã¦ã¾ãããã¯ã¤ãã¯ã½ã¼ããæåæã¨ã¯éãã¾ãããæè¿ã¯ã¡ã¢ãªãè±å¯ãªã®ã§ããã±ãã½ã¼ããåå¸æ°ãä¸ãã½ã¼ããåºæ°ã½ã¼ããååå®ç¨çã§ããã©ããããã ãããã¨ããããã§ããã¤ã試ãã¦ã¿ã¾ãããã¯ã¤ãã¯ã½ã¼ããåå¸æ°ãä¸ãã½ã¼ããåºæ°ã½ã¼ããææã¡ã®Mac Book Airã§è©¦ãã¦ã¿ã¾ãããã³ã¼ãã¯ãã¡ãã
4ãã¤ãã®ç¬¦åãªãæ´æ°ãã½ã¼ãããã¨ããç°¡åãªã³ã¼ãã§ãã以ä¸ã®ã½ã¼ããæ¯ã¹ã¦ãã¾ãã
- æ¨æºCã©ã¤ãã©ãªã®ã¯ã¤ãã¯ã½ã¼ã
- ææ¸ãã®ã¯ã¤ãã¯ã½ã¼ã
- åå¸æ°ãä¸ãã½ã¼ãï¼æå¾ã®ã³ãã¼å¦çãmemcpyï¼
- åå¸æ°ãä¸ãã½ã¼ãï¼æå¾ã®ã³ãã¼å¦çãforã«ã¼ãï¼
- åå¸æ°ãä¸ãã½ã¼ãï¼æå¾ã®ã³ãã¼å¦çãmemcpyããã¤ã³ã¿ã使ã£ã¦ã«ã¼ããå°ãæé©åï¼
- åºæ°ã½ã¼ãï¼ãã¤ãåä½ï¼
- åºæ°ã½ã¼ãï¼ãã¤ãåä½ããã¤ã³ã¿ã使ã£ã¦ã«ã¼ããå°ãæé©åï¼
- åºæ°ã½ã¼ãï¼ãã¤ãåä½ããã¤ã³ã¿ã使ã£ã¦ã«ã¼ããããã«æé©åï¼
- åºæ°ã½ã¼ãï¼ã¯ã¼ãåä½ï¼
çµæã¨ãã¦ã¯ãæ¦ãã¯ã¼ãåä½ã®åºæ°ã½ã¼ããæãéãã£ãã§ããã¤ãããã§ãç»åå¦çã§ã¯ã¯ã¼ãåä½ã®åºæ°ã½ã¼ãã使ãã®ãããããã§ããåºæ°ã½ã¼ãã¯å°ãã ã工夫ãã¾ãããåºæ°ã½ã¼ãã§ã¯ãæ®éã¯åä½æ¯ã«çµæãã³ãã¼ããã®ã§ãããããã«ãããã¡ãªã³ã°ãããã¨ã§ãã®æéããªããã¾ãããç»ç´ æ°ã大ãããªãã°ãªãã»ã©å¹ãã¦ããã¯ãã§ãã以ä¸ã¯ãMac Book Air 2.13 GHz Intel Core 2 Duo, Memory 4 GB 1067 MHz DDR3ã§å®è¡ããçµæã§ããã¾ãã¯å®æ©ã§ã®çµæã
QVGA 24bpp 320x 240 (size = 76800, range = 16777216)
qsort : 0.023937 [sec]
quick_sort : 0.022483 [sec]
counting_sort : 0.211722 [sec]
counting_sort2 : 0.146360 [sec]
counting_sort3 : 0.133482 [sec]
radix_sort : 0.006259 [sec]
radix_sort2 : 0.005574 [sec]
radix_sort3 : 0.005545 [sec]
radix_sort4 : 0.004007 [sec]VGA 24bpp 640x 480 (size = 307200, range = 16777216)
qsort : 0.105436 [sec]
quick_sort : 0.092361 [sec]
counting_sort : 0.184831 [sec]
counting_sort2 : 0.184686 [sec]
counting_sort3 : 0.169230 [sec]
radix_sort : 0.025758 [sec]
radix_sort2 : 0.024495 [sec]
radix_sort3 : 0.023203 [sec]
radix_sort4 : 0.015684 [sec]XGA 24bpp 1024x 768 (size = 786432, range = 16777216)
qsort : 0.288884 [sec]
quick_sort : 0.260471 [sec]
counting_sort : 0.274694 [sec]
counting_sort2 : 0.272200 [sec]
counting_sort3 : 0.257774 [sec]
radix_sort : 0.069239 [sec]
radix_sort2 : 0.066146 [sec]
radix_sort3 : 0.060907 [sec]
radix_sort4 : 0.040482 [sec]Nexus S 24bpp 480x 800 (size = 384000, range = 16777216)
qsort : 0.134426 [sec]
quick_sort : 0.118140 [sec]
counting_sort : 0.198503 [sec]
counting_sort2 : 0.198470 [sec]
counting_sort3 : 0.182864 [sec]
radix_sort : 0.033405 [sec]
radix_sort2 : 0.031146 [sec]
radix_sort3 : 0.029891 [sec]
radix_sort4 : 0.019964 [sec]Mac Book Air 24bpp 1440x 900 (size = 1296000, range = 16777216)
qsort : 0.492288 [sec]
quick_sort : 0.439028 [sec]
counting_sort : 0.376246 [sec]
counting_sort2 : 0.370595 [sec]
counting_sort3 : 0.353696 [sec]
radix_sort : 0.113894 [sec]
radix_sort2 : 0.110131 [sec]
radix_sort3 : 0.102530 [sec]
radix_sort4 : 0.069099 [sec]iMac 24bpp 2560x1440 (size = 3686400, range = 16777216)
qsort : 1.493648 [sec]
quick_sort : 1.320081 [sec]
counting_sort : 0.833016 [sec]
counting_sort2 : 0.819314 [sec]
counting_sort3 : 0.810189 [sec]
radix_sort : 0.332729 [sec]
radix_sort2 : 0.316817 [sec]
radix_sort3 : 0.292213 [sec]
radix_sort4 : 0.200232 [sec]
åããã·ã³ã§Windows XP on Virtual Boxã§å®è¡ããçµæããã¡ãã
QVGA 24bpp 320x 240 (size = 76800, range = 16777216)
qsort : 0.016000 [sec]
quick_sort : 0.000000 [sec]
counting_sort : 0.485000 [sec]
counting_sort2 : 0.765000 [sec]
counting_sort3 : 0.719000 [sec]
radix_sort : 0.000000 [sec]
radix_sort2 : 0.031000 [sec]
radix_sort3 : 0.000000 [sec]
radix_sort4 : 0.016000 [sec]VGA 24bpp 640x 480 (size = 307200, range = 16777216)
qsort : 0.093000 [sec]
quick_sort : 0.047000 [sec]
counting_sort : 0.687000 [sec]
counting_sort2 : 0.844000 [sec]
counting_sort3 : 0.828000 [sec]
radix_sort : 0.062000 [sec]
radix_sort2 : 0.047000 [sec]
radix_sort3 : 0.047000 [sec]
radix_sort4 : 0.047000 [sec]XGA 24bpp 1024x 768 (size = 786432, range = 16777216)
qsort : 0.234000 [sec]
quick_sort : 0.188000 [sec]
counting_sort : 0.656000 [sec]
counting_sort2 : 0.781000 [sec]
counting_sort3 : 0.812000 [sec]
radix_sort : 0.188000 [sec]
radix_sort2 : 0.235000 [sec]
radix_sort3 : 0.171000 [sec]
radix_sort4 : 0.109000 [sec]Nexus S 24bpp 480x 800 (size = 384000, range = 16777216)
qsort : 0.125000 [sec]
quick_sort : 0.063000 [sec]
counting_sort : 0.625000 [sec]
counting_sort2 : 0.719000 [sec]
counting_sort3 : 0.813000 [sec]
radix_sort : 0.047000 [sec]
radix_sort2 : 0.046000 [sec]
radix_sort3 : 0.047000 [sec]
radix_sort4 : 0.047000 [sec]Mac Book Air 24bpp 1440x 900 (size = 1296000, range = 16777216)
qsort : 0.359000 [sec]
quick_sort : 0.282000 [sec]
counting_sort : 0.563000 [sec]
counting_sort2 : 0.906000 [sec]
counting_sort3 : 0.969000 [sec]
radix_sort : 0.297000 [sec]
radix_sort2 : 0.281000 [sec]
radix_sort3 : 0.250000 [sec]
radix_sort4 : 0.156000 [sec]iMac 24bpp 2560x1440 (size = 3686400, range = 16777216)
qsort : 0.719000 [sec]
quick_sort : 0.766000 [sec]
counting_sort : 0.765000 [sec]
counting_sort2 : 1.234000 [sec]
counting_sort3 : 1.188000 [sec]
radix_sort : 0.797000 [sec]
radix_sort2 : 0.640000 [sec]
radix_sort3 : 0.563000 [sec]
radix_sort4 : 0.390000 [sec]
次ã¯ãç»åå¦çåãã®é«éãªmemcmpãmemcpyãbzeroãããããã£ã¦ã¿ã¾ãããããã