ΠΡΠΎΠΌΠ΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Python 2.7, Π΄ΡΡΠ³ΠΈΠΌ Π²Π°ΠΆΠ½ΡΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΡΠ°Π»ΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠΌΠ΅Π²ΡΠ΅Π³ΠΎΡΡ ΠΊΠΎΠ΄Π° ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΎ, ΡΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡΡ ΡΡΠ°ΡΠΈΡΡΡ Π½Π° Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ use_reduce ΠΈ catpkgsplit Ρ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΠΌΡΡ Π½Π°Π±ΠΎΡΠΎΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ½ΠΊΡΠΈΡ catpkgsplit Π²ΡΠ·ΡΠ²Π°Π»Π°ΡΡ ΠΎΡ 1 Π΄ΠΎ 5 ΠΌΠ»Π½ ΡΠ°Π·). ΠΠ»Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ Π±ΡΠ»ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΎ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΡΠ°Π±ΠΎΡΡ Π΄Π°Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ. ΠΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΊΡΡΠ° Π±ΡΠ»Π° Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ lru_cache, Π½ΠΎ ΠΎΠ½Π° Π±ΡΠ»Π° Π΄ΠΎΡΡΡΠΏΠ½Π° ΡΠΎΠ»ΡΠΊΠΎ Π² Π²ΡΠΏΡΡΠΊΠ°Ρ Python, Π½Π°ΡΠΈΠ½Π°Ρ Ρ 3.2. ΠΠ»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½ΠΈΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ Π±ΡΠ»Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π·Π°Π³Π»ΡΡΠΊΠ°, ΠΏΠΎΠ΄ΠΌΠ΅Π½ΡΡΡΠ°Ρ lru_cache, Π½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Python 2.7 Π² Portage 3.0 ΡΠΈΠ»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΡΠΈΠ»ΠΎ Π·Π°Π΄Π°ΡΡ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ Π±Π΅Π· Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΡΠ»ΠΎΠΉΠΊΠΈ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΡΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΡΠ½ΠΈΠ·ΠΈΡΡ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ «emerge -uDvpU —with-bdeps=y @world» Π½Π° Π½ΠΎΡΡΠ±ΡΠΊΠ΅ ThinkPad X220 Ρ 5 ΠΌΠΈΠ½ΡΡ 20 ΡΠ΅ΠΊΡΠ½Π΄ Π΄ΠΎ 3 ΠΌΠΈΠ½ΡΡ 16 ΡΠ΅ΠΊΡΠ½Π΄ (63%). Π’Π΅ΡΡΡ Π½Π° Π΄ΡΡΠ³ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ ΠΏΡΠΈΡΠΎΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π½Π΅ Π½ΠΈΠΆΠ΅ 48%.
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΠ²ΡΠΈΠΉ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΏΡΡΠ°Π»ΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΠΎΡΠΈΠΏ ΠΊΠΎΠ΄Π° ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ Π½Π° C++ ΠΈΠ»ΠΈ Rust, Π½ΠΎ Π·Π°Π΄Π°ΡΠ° ΠΎΠΊΠ°Π·Π°Π»Π°ΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠ΅Π±ΠΎΠ²Π°Π»Π° ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠΌΠ° ΠΊΠΎΠ΄Π°, ΠΈ, ΠΏΡΠΈ ΡΡΠΎΠΌ, Π±ΡΠ»ΠΎ ΡΠΎΠΌΠ½ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΡΠΎΠΈΠ» Π±Ρ ΠΏΠΎΡΡΠ°ΡΠ΅Π½Π½ΡΡ ΡΡΠΈΠ»ΠΈΠΉ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru