Rustå¨å¿«éæåºä¸æ§è½è¶ è¶Python | AIçæåç¿»è¯
ç»æï¼Rust ~0.75æ¯«ç§ vs Python ~7.9æ¯«ç§ ââ 约快10åã
以䏿¯å¸åå 容ï¼
Rustä¸Pythonä¸çå¿«éæåºï¼å¯¹10,000个æ°åè¿è¡æåº
æç¨RuståPythonåå«ä»å¤´å®ç°äºç¸åçå¿«éæåºç®æ³ââé½ä½¿ç¨å®å ¨ç¸åçLomutoååºé»è¾ââ并对10,000ä¸ªéæºæ´æ°è¿è¡äºè®¡æ¶æµè¯ã
ç»æï¼
- Rustï¼åå¸çæ¬ï¼ï¼~0.75毫ç§
- Pythonï¼~7.9毫ç§
对äºç¸åçç®æ³ãç¸åçé»è¾ã没æä½¿ç¨ä»»ä½æå·§ï¼Rust大约快äº10åã
代ç å 乿¯1:1ç´æ¥ç¿»è¯çãPythonçå
ç»äº¤æ¢ï¼a, b = b, aï¼å¯ä»¥è¯´æ¯Rustçarr.swap(i, j)æ´ä¼é
ï¼ä½Rustç¼è¯æäºåçæºå¨ç ï¼èPythonæ¯ä¸æ¥é½éè¦ç»è¿è§£éå¨å¹¶æ¿æ
å¨æç±»ååçå¼éã
æè¶£çæ¯ï¼è¿éçå·®è·âä» ä» âæ¯10åãPythonè½ç¶å声ä¸ä½³ï¼ä½å¯¹äºä¸çæ°æ®è§æ¨¡çç®æ³ä»»å¡æ¥è¯´ï¼å ¶è¡¨ç°å¹¶éç¾é¾æ§çã妿尿°æ®éæ¨å°100ä¸ï¼æè å¨ç循ç¯ä¸è¿è¡æ¤ç®æ³ï¼å·®è·ä¼è¿ éæå¤§ã
çæ£çå¯ç¤ºæ¯ï¼å¨è¾å°è§æ¨¡ä¸ï¼ç®æ³æ¯ç¼ç¨è¯è¨æ´éè¦ã两ç§å®ç°é½å ·æO(n log n)ç平忶é´å¤æåº¦ãä½å½ä½ éè¦äºåå¤ºç§æ¶ï¼Rustçé¶ææ¬æ½è±¡å°±è½å±ç°åºå¨åã
代ç ï¼src/main.rsï¼Rustï¼åquicksort.pyï¼Pythonï¼ââç¸åçç®æ³ï¼å·®å¼å·¨å¤§çè¿è¡æ¶é´ã
æ¯å¦éè¦ææäº¤å¹¶æ¨éæ¤æ´æ¹ï¼
