ãã¤ã³ã¿ã¼ããããµã¼ãã§ã®Pthreadã¨epollãã®è¨äºï¼ä»¥ä¸ãåè¨äºã¨å¼ã³ã¾ãï¼ãæ¸ããæç¹ã§ã¯ãæå ã®ç°å¢ããã¢ãªãããã«ãããã»ã¹/ãã«ãã¹ã¬ãããæ¡ç¨ãããµã³ãã«ããã°ã©ã ã®ç価ãçºæ®ããããããé©åã«æ¯è¼ã§ãã¾ããã§ãããããã®å¾ãã¥ã¢ã«ã³ã¢ãã·ã³ãåãããã¨ãã§ããã®ã§ãæ¹ãã¦æ¯è¼ãã¦ã¿ã¾ããã ã¾ããæ¯è¼ã®éã«ãµã³ãã«ããã°ã©ã ã«è¿½å ããããã¼å¦çã§ã¯ã·ã°ãã«ã使ç¨ããã®ã§ããã¯ãLinuxã«è¿½å ããã signalfd(2) ãepollã«ããã¤ãã³ãã«ã¼ãã§å¦çãã¦ã¿ã¾ããã æ¬è¨äºã®ãµã³ãã«ã³ã¼ãã¯ã以ä¸ã®ãªã³ã¯ãããã¦ã³ãã¼ããããã¨ãã§ãã¾ããè¨äºã¨åããã¦ãåç §ãã ããã [ ãµã³ãã«ã³ã¼ã ] åè¨äºã®ãµã³ãã«ããã°ã©ã åè¨äº ã§ã¯HTTPãµã¼ããä¾ã«ä¸¦åæ§/å¤éæ§ã®ãµã³ãã«å®è£ ã5種é¡æ示ãã¾ãããç°¡åã«æ¯ãè¿ãã¾ãããµã³ãã«ããã°ã©ã ããã¥ã¢ã«ã³ã¢ã·ã¹
ããã»ã¹ããããã¯ããè¦å ã®ä¸ã¤ã«ãã¡ã¤ã«I/Oãããã¾ãããããåæI/Oã¨è¨ãã¾ãããPOSIXã§ã¯AIOï¼éåæ I/OãAsynchronous I/Oï¼ãå®ç¾©ãã¦ãããI/Oä¸ã§ãããã»ã¹ããããã¯ããä»ã®å¦çãé²ããããããã«ãªãã¾ãã æ¬è¨äºã§ã¯ãããã¡ãã£ãã·ã¥ãããã¡ã¤ã« I/Oã解説ããLinuxã®io_submit(2)ãç¨ããPOSIXæºæ ã®AIOã©ã¤ãã©ãªã試ä½ãã¦ã¿ã¾ãã ãã¡ã¤ã«I/Oã¨ãããã¡ãã£ãã·ã¥ io_submit(2)ã§ã¯Direct I/Oãç¨ãã¾ãããã©ã¤ãã©ãªã®è©¦ä½ã¸é²ãåã«ã¾ããã¡ã¤ã«I/Oã®ãããã¡ï¼ãããã¡ãã£ãã·ã¥ï¼ã«ã¤ãã¦æ´çãã¾ããå®ã¯åã«ãããã¡ã¨è¨ã£ã¦ãã¾ãã¨èª¤è§£ãããå ´é¢ãå¤ããããä¾ãã°ããã°ã©ãã³ã°å ¥éä¸è¬ã¨ãã¦ãã¡ã¤ã«I/Oãåãä¸ããéã«ã¯ã CPUã®åä½ã¯éãããã£ã¹ã¯ã®åä½ã¯é ãã 両è ã®éã«é度差ãç·©åããç·©è¡
Google ã®ã¦ã§ããã°å ¬éãã¼ã«ã使ã£ã¦ãããã¹ããåçãåç»ãå ±æã§ãã¾ãã
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}