ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ , ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΡΠ° . ΠΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ ΠΎΠ±ΠΎΠ±ΡΠ°Π²Π° Π΄ΡΠ»Π³ΠΎΠ³ΠΎΠ΄ΠΈΡΠ½Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Python 3 ΠΈ ΡΠΏΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° Python 2.7.
Π Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΡΠΌ ΡΠΏΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° Python 2.7, Π΄ΡΡΠ³ΠΎΡΠΎ Π²Π°ΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π±Π΅ΡΠ΅ Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° , ΠΊΠΎΠΈΡΠΎ ΡΡΠΏΡΡ Π° Π΄Π° ΡΡΠΊΠΎΡΡΡ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡΡΠ°, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ΡΠΎ Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, Ρ 50-60%. ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ Π΅, ΡΠ΅ Π½ΡΠΊΠΎΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡ Π° Π΄Π° ΠΏΡΠ΅Π½Π°ΠΏΠΈΡΠ°Ρ ΠΊΠΎΠ΄Π° Π·Π° ΡΠ°Π·ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π½Π° C/C++ ΠΈΠ»ΠΈ Go Π·Π° ΡΡΠΊΠΎΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΠΌΡ, Π½ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ Π±Π΅ΡΠ΅ ΡΠ΅ΡΠ΅Π½ Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈ ΡΡΠΈΠ»ΠΈΡ.
ΠΡΠΎΠ²Π΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈΡ ΠΊΠΎΠ΄ ΠΏΠΎΠΊΠ°Π·Π°, ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡΡΠ° ΡΠ΅ Π³ΡΠ±ΠΈ ΠΏΡΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ 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
