ã¹ã¯ãªããè¨èªã®æ¯ã®æ ¹ãæ¢ããã®ã¯æ¡å¤ SSD ãããª
大å¤ããã¸ãèå³æ·±ãè¨äºãå ¨ããã°ã©ãã¼ã«ã¨ã£ã¦ã
HDDã®ä»£ããã«SSDãå©ç¨ãããããªã¬ã¼ã·ã§ãã«ãã¼ã¿ãã¼ã¹ã®æ§è½ã¯ã©ãã ãåä¸ããã®ã§ããããï¼ ãªã©ã¯ã«ã¨å¯å£«éãå ±åæ¤è¨¼ãè¡ãããã®çµæããã¯ã¤ããã¼ãã¼ã¨ãã¦å é±çºè¡¨ãã¾ãã
HDDをSSDにしたらデータベースはどれだけ速くなるか? オラクルと富士通が実験 - Publickey
...(snip)...
HDDã¯200ã¹ã¬ããã§æ§è½ãé æã¡ãªã®ã«å¯¾ããSSDã¯200ã¹ã¬ãããã300ã¹ã¬ããã«ãªã£ã¦ãã¾ã æ§è½ã¯ä¸æããã ãã300ã¹ã¬ããæã«ã¯CPUå©ç¨çã100ï¼ ã«è¿ã¥ãã¦ãããå ã«CPUæ§è½ã®æ¹ãããã«ããã¯ã¨ãªã£ã¦ãã¾ã£ãããã§ãã
åçãªã¹ã¯ãªããè¨èª (Ruby ã Python ãªã©) ã¨éçãªã³ã³ãã¤ã«åè¨èª (C++ ã Java ãªã©) ã§ã¯ãã ããã 5 åãã 10 åãããã®é度差ããããããã§ãã¹ã¯ãªããè¨èªãå®ç¨çã«ä½¿ãããã®ã¯ãè¨èªã®é度差ããã®ã¾ã¾ã¢ããªã±ã¼ã·ã§ã³ã®é度差ã«ã¯ãªããªããããã¤ã¾ãã¹ã¯ãªããè¨èªã§ä½ãããã¢ããªã±ã¼ã·ã§ã³ããå¿ ããã C++ ã Java 製ã®ã¢ããªã±ã¼ã·ã§ã³ãã 5 åãé ãã¨ããããã§ã¯ãªãã
è¨èªã®é度差ããã®ã¾ã¾ã¢ããªã±ã¼ã·ã§ã³ã®é度差ã«ãªããªãçç±ã¯ãCPU ãã I/O (ãããã¯ã¼ã¯ããã£ã¹ã¯ã¢ã¯ã»ã¹) ãããã«ããã¯ã«ãªããããã¨ããã®ã¯ããè¨ãããããå®éããã§ãããå°ãªãã¨ãä»ã¾ã§ã¯ã
ããã SSD ã主æµã«ãªãããã£ã¹ã¯ã¢ã¯ã»ã¹ã DB ãããã«ããã¯ã«ãªããªã (ãããã¯ãªã£ãã¨ãã¦ãããã«ãã£ãå°ãªã) ãããªæ代ã«ãªã£ãããè¨èªã®é度差ããã®ã¾ã¾ã¢ããªã±ã¼ã·ã§ã³ã®åä½é度ã«ãªãå¯è½æ§ããã*1ããããªãã¨ãããã°ã©ãã³ã°è¨èªã®é度ãä»ãããã£ã¨éè¦ã«ãªãã ããããåä½é度ã®é ãã¹ã¯ãªããè¨èªã¯äººæ°ãæ´è½ãããããããªãããã¾ãæ´è½ã¾ã§ã¯ãããªãã¨ãã人æ°ãä¸ãããã¨ã¯å¤§ãã«ããããã
ã¹ã¯ãªããè¨èªå±ããã¯ä»ãããã®ã¨ãã«åããã¹ãã ãã (ãã®ã¨ããæ¥ã¦ããããæé ã)ãã¨ããããã§ãããã¨ã¯ï¼
- ã¹ã¯ãªããè¨èªã®å®è£
ãé«éåãã
- Python ãªã unladen-swallow ã¨ããJIT ãæè¼ã㦠CPython ããéã (ãã¨ããã) PyPy ã¨ã
- PHP ãªã C++ ã«å¤æãã¦å®è¡ããã¨ã
- Ruby ã¯ããã å çé ¼ã¿? ããã¨ã LLVM é ¼ã¿?
- 並ååãéåæ I/O ãæ¡å
ãã
- Ruby ãªã EventMachine ã¨ã NeverBlock ã¨ã (1.9 ã« Fiber ãæè¼ããã¦ã¦ã»ãã¨ãã«ããã£ã)
- C å®è£
ã®é¢æ°ãã©ã¤ãã©ãªãå¢ãã
- h() ã¨ã CGI.parse() ã¨ãã¯ããæ¡å¼µã¢ã¸ã¥ã¼ã«ã«ãã¹ãã ã¨æããã
ã¤ã¼ããã21 ä¸ç´ã 10 å¹´ç®ã«çªå
¥ãããã ãããããããããã¹ã¯ãªããè¨èªä¸¦ã¿ã«ä½¿ãããã éçãªè¨èªãã主æµã«ãªã£ã¦æ¬²ããããããã¨ãã¨é度çã«ä¸å©ãªã¹ã¯ãªããè¨èªãä¸çæ¸å½é«éåãããããããã£ã¡ã®ã»ããããã¹ã姿ã ã¨æããã ãã©ãè³åè
ã¯ãããããªã㧠OCaml ã¯ä»ãã¡äººæ°ãã§ãªããã ããã
*1:ã¾ãã¢ã¼ããã¯ãã£ããã£ãã·ã¥æè¡ãæéè¦ãªã®ã¯å¤ãããªãã ãããã©ã