Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° LLVM Π²ΡΡΠ°Π·ΠΈΠ»ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ Π΄ΡΡΠ³ΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΈ ΠΏΡΠ΅ΠΊΡΠ°ΡΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ»ΠΎΠ²Π° «master» Π΄Π»Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠ΅ΠΏΠΎΠ΄Π½ΠΎΡΠΈΡΡΡ ΠΊΠ°ΠΊ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ LLVM ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ½ΠΊΠ»ΡΠ·ΠΈΠ²Π½ΡΠΌ ΠΈ ΡΡΠ΅ΠΏΠ΅ΡΠ½ΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ Π²ΠΎΠΏΡΠΎΡΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΡΠ·ΡΠ²Π°ΡΡ Π΄ΠΈΡΠΊΠΎΠΌΡΠΎΡΡ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ
ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ².
ΠΠΌΠ΅ΡΡΠΎ «master» ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΡΡ Π²ΡΠ±ΡΠ°ΡΡ Π½Π΅ΠΉΡΡΠ°Π»ΡΠ½ΡΡ Π·Π°ΠΌΠ΅Π½Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, «dev», «trunk», «main» ΠΈΠ»ΠΈ «default». ΠΡΠΌΠ΅ΡΠ°Π΅ΡΡΡ, ΡΡΠΎ Π΄ΠΎ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π° Ρ SVN Π½Π° Git ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ Π²Π΅ΡΠΊΠ° ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π»Π°ΡΡ «trunk» ΠΈ Π΄Π°Π½Π½ΠΎΠ΅ ΠΈΠΌΡ ΠΎΡΡΠ°ΡΡΡΡ ΠΏΡΠΈΠ²ΡΡΠ½ΡΠΌ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ². ΠΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΠΎΠΏΡΠΎΡ Π·Π°ΠΌΠ΅Π½Ρ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠΉ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ² whitelist/blacklist Π½Π° allowlist/denylist. ΠΡΠΈ ΡΡΠΎΠΌ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅Ρ Π²Π½Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ±ΠΎΡΠΎΡΠ½ΡΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΈ, Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΈ ΡΠΎΠΏΡΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΡ, Π½ΠΎ, ΠΎΡΠΌΠ΅ΡΠ°Π΅ΡΡΡ, ΡΡΠΎ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ Π½Π΅ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌΠΈ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Π½Π΅Π΄Π°Π²Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠ΅ΠΉ Ρ SVN Π½Π° Git.
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ² Π΄ΠΈΡΠΊΡΡΡΠΈΠΈ, Π½Π°ΡΡΠΈΡΡΠ²Π°ΡΡΠ΅ΠΉ Π±ΠΎΠ»Π΅Π΅ 60 ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, Π²ΡΡΠΊΠ°Π·Π°Π»ΠΈΡΡ Π·Π° ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅. ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΎΠ΄ΠΎΠ±ΡΠΈΠ» ΠΈ ΠΡΠΈΡ ΠΠ°ΡΠ½Π΅Ρ (Chris Lattner), ΠΎΡΠ½ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ Π³Π»Π°Π²Π½ΡΠΉ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΠΎΡ LLVM, Π½ΠΎ ΠΎΠ½ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π» Π½Π΅ ΡΠΎΡΠΎΠΏΠΈΡΡΡΡ, Π° ΠΏΠΎΠ΄ΠΎΠΆΠ΄Π°ΡΡ ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ΅ΠΌ Π·Π°Π²Π΅ΡΡΠΈΡΡΡΡ ΠΈΠ½ΠΈΡΠΈΠ°ΡΠΈΠ²Π° GitHub ΠΏΠΎ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΠΌΠ΅Π½ΠΈ «master» Π΄Π»Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ
Π²Π΅ΡΠΎΠΊ (ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡ ΠΆΠ΅ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡ, ΡΡΠΎ ΠΈ Π² GitHub).
ΠΠ΅ ΠΎΠ±ΠΎΡΠ»ΠΎΡΡ ΠΈ Π±Π΅Π· ΡΠ°ΡΠΊΠ°Π·ΠΌΠ° Ρ Π΄ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΡΠΈΡΡΠ°ΡΠΈΠΈ Π΄ΠΎ Π°Π±ΡΡΡΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π±ΡΠ» Π²ΠΎΡΠΏΡΠΈΠ½ΡΡ Π²ΡΠ΅ΡΡΡΠ·. Π ΠΎΠΌΠ°Π½ ΠΠ΅Π±Π΅Π΄Π΅Π² (942 ΠΊΠΎΠΌΠΌΠΈΡΠ° Π² LLVM) ΡΠΏΠΎΠΌΡΠ½ΡΠ», ΡΡΠΎ Π΅ΡΠ»ΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎΠ± ΠΈΠ½ΠΊΠ»ΡΠ·ΠΈΠ²Π½ΠΎΡΡΠΈ, ΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ Π½Π°Π΄ ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π΄ΡΡΠ³ΠΈΡ
ΡΠ»ΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, «work» ΠΈ «job», ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π° ΡΡΡΡΠΊΠΎΠΌ «worker» Π·Π²ΡΡΠΈΡ ΠΊΠ°ΠΊ «ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊ» ΠΈΠ»ΠΈ «ΡΠ°Π±ΠΎΡΠΈΠΉ», Π° ΡΡΠΈ ΡΠ»ΠΎΠ²Π° ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ «ΡΠ°Π±», ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡΡΡ ΠΊΠ°ΠΊ «slave».
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru