ΠΠ°ΠΊΠΎ Π΄Π΅Π» ΠΎΠ΄ ΠΈΡΡΡΠ°ΠΆΡΠ²Π°ΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡ
ΠΠ° ΡΠ΅ΡΡΠΈΡΠ°ΡΠ΅
ΠΠΎ ΡΠ»Π΅Π΄Π½Π°ΡΠ° ΡΠ°Π·Π°, ΠΈΡΡΠΎ ΡΠ°ΠΊΠ°, ΡΠ΅ ΠΏΠ»Π°Π½ΠΈΡΠ° Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΡΡΠ»Π°Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°Π»Π½ΠΈΡΠ΅ RTL ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π²ΠΎ ΠΏΠΎΡΠ΅Π±Π½ΠΈ Π½ΠΈΡΠΊΠΈ, Π·Π΅ΠΌΠ°ΡΡΠΈ Π³ΠΈ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΠΊΠ°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈΡΠ΅ Π½Π° Ρ Π°ΡΠ΄Π²Π΅ΡΡΠΊΠ°ΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°. ΠΠΎΡΠ»Π΅ ΡΠΎΠ°, ΠΏΠ»Π°Π½ΠΈΡΠ°ΠΌΠ΅ Π΄Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°ΠΌΠ΅ ΠΏΠ°ΡΠ°Π»Π΅Π»ΠΈΠ·Π°ΡΠΈΡΠ° Π½Π° ΠΈΠ½ΡΡΠ°ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°Π»Π½ΠΈΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ (IPA) ΠΏΡΠΈΠΌΠ΅Π½Π΅ΡΠΈ Π½Π° ΠΊΠΎΠ΄ΠΎΡ Π²Π½Π°ΡΡΠ΅ Π²ΠΎ ΡΡΠ½ΠΊΡΠΈΡΠ°ΡΠ°, Π±Π΅Π· ΠΎΠ³Π»Π΅Π΄ Π½Π° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠΈΡΠ΅ Π½Π° ΠΏΠΎΠ²ΠΈΠΊΠΎΡ. ΠΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠΊΠ°ΡΠ° Π²ΡΡΠΊΠ° Π·Π°ΡΠ΅Π³Π° Π΅ ΡΠΎΠ±ΠΈΡΠ°ΡΠΎΡ Π½Π° ΡΡΠ±ΡΠ΅, ΠΊΠΎΡ Π΄ΠΎΠ΄Π°Π΄Π΅ Π³Π»ΠΎΠ±Π°Π»Π½Π° Π±ΡΠ°Π²Π° ΠΊΠΎΡΠ° Π³ΠΈ ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ Π·Π° ΡΠΎΠ±ΠΈΡΠ°ΡΠ΅ ΡΡΠ±ΡΠ΅ Π΄ΠΎΠ΄Π΅ΠΊΠ° ΡΠ°Π±ΠΎΡΠΈ Π²ΠΎ ΡΠ΅ΠΆΠΈΠΌ ΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ Π½ΠΈΡΠΊΠΈ (Π²ΠΎ ΠΈΠ΄Π½ΠΈΠ½Π° ΡΠΎΠ±ΠΈΡΠ°ΡΠΎΡ Π½Π° ΡΡΠ±ΡΠ΅ ΡΠ΅ Π±ΠΈΠ΄Π΅ ΠΏΡΠΈΠ»Π°Π³ΠΎΠ΄Π΅Π½ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° GCC ΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ Π½ΠΈΡΠΊΠΈ).
ΠΠ° Π΄Π° ΡΠ΅ ΠΏΡΠΎΡΠ΅Π½Π°Ρ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π²ΠΎ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅, ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ Π΅ ΡΠ΅ΡΡ ΠΏΠ°ΠΊΠ΅Ρ ΠΊΠΎΡ ΡΠ° ΡΠΎΡΡΠ°Π²ΡΠ²Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° gimple-match.c, ΠΊΠΎΡΠ° Π²ΠΊΠ»ΡΡΡΠ²Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΠ΄ 100 ΠΈΠ»ΡΠ°Π΄ΠΈ Π»ΠΈΠ½ΠΈΠΈ ΠΊΠΎΠ΄ ΠΈ 1700 ΡΡΠ½ΠΊΡΠΈΠΈ. Π’Π΅ΡΡΠΎΠ²ΠΈΡΠ΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌ ΡΠΎ ΠΏΡΠΎΡΠ΅ΡΠΎΡ Intel Core i5-8250U ΡΠΎ 4 ΡΠΈΠ·ΠΈΡΠΊΠΈ ΡΠ°Π΄ΡΠ° ΠΈ 8 Π²ΠΈΡΡΡΠ΅Π»Π½ΠΈ (Hyperthreading) ΠΏΠΎΠΊΠ°ΠΆΠ°Π° Π½Π°ΠΌΠ°Π»ΡΠ²Π°ΡΠ΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° Intra Procedural GIMPLE ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈΡΠ΅ ΠΎΠ΄ 7 Π½Π° 4 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ ΠΊΠΎΠ³Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Π°Ρ 2 Π½ΠΈΡΠΊΠΈ ΠΈ Π½Π° 3 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ ΠΊΠΎΠ³Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Π°Ρ 4 Π½ΠΈΡΠΊΠΈ, Ρ.Π΅. ΠΠ³ΠΎΠ»Π΅ΠΌΡΠ²Π°ΡΠ΅ Π½Π° Π±ΡΠ·ΠΈΠ½Π°ΡΠ° Π½Π° ΡΠ°Π·Π°ΡΠ° Π½Π° ΡΠΊΠ»ΠΎΠΏΡΠ²Π°ΡΠ΅ ΡΡΠΎ ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄ΡΠ²Π° Π±Π΅ΡΠ΅ ΠΏΠΎΡΡΠΈΠ³Π½Π°ΡΠΎ Π·Π° 1.72 ΠΈ 2.52 ΠΏΠ°ΡΠΈ, ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½ΠΎ. Π’Π΅ΡΡΠΎΠ²ΠΈΡΠ΅ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΠΎΠΊΠ°ΠΆΠ°Π° Π΄Π΅ΠΊΠ° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ΡΠΎ Π²ΠΈΡΡΡΠ΅Π»Π½ΠΈ ΡΠ°Π΄ΡΠ° ΡΠΎ Hyperthreading Π½Π΅ Π΄ΠΎΠ²Π΅Π΄ΡΠ²Π° Π΄ΠΎ Π·Π³ΠΎΠ»Π΅ΠΌΠ΅Π½ΠΈ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ.
Π¦Π΅Π»ΠΎΠΊΡΠΏΠ½ΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° Π³ΡΠ°Π΄Π΅ΡΠ΅ Π±Π΅ΡΠ΅ Π½Π°ΠΌΠ°Π»Π΅Π½ΠΎ Π·Π° ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ½ΠΎ 10%, Π½ΠΎ ΡΠΏΠΎΡΠ΅Π΄ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ΡΠ²Π°ΡΠ°ΡΠ°, ΠΏΠ°ΡΠ°Π»Π΅Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ΡΠΎ Π½Π° RTL ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈΡΠ΅ ΡΠ΅ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ ΠΏΠΎΡΡΠΈΠ³Π½ΡΠ²Π°ΡΠ΅ ΠΏΠΎΠΎΠΏΠΈΠΏΠ»ΠΈΠ²ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ, Π±ΠΈΠ΄Π΅ΡΡΠΈ ΠΎΠ²Π°Π° ΡΠ°Π·Π° ΠΎΠ΄Π·Π΅ΠΌΠ° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅ Π·Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡΠ°ΡΠ°. ΠΡΠΈΠ±Π»ΠΈΠΆΠ½ΠΎ ΠΏΠΎ RTL ΠΏΠ°ΡΠ°Π»Π΅Π»ΠΈΠ·Π°ΡΠΈΡΠ°ΡΠ°, Π²ΠΊΡΠΏΠ½ΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠΊΠ»ΠΎΠΏΡΠ²Π°ΡΠ΅ ΡΠ΅ ΡΠ΅ Π½Π°ΠΌΠ°Π»ΠΈ Π·Π° 1.61 ΠΏΠ°ΡΠΈ. ΠΠΎ ΠΎΠ²Π°, ΡΠ΅ Π±ΠΈΠ΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ Π½Π°ΠΌΠ°Π»ΠΈ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π° Π³ΡΠ°Π΄Π΅ΡΠ΅ Π·Π° ΡΡΡΠ΅ 5-10% ΡΠΎ ΠΏΠ°ΡΠ°Π»Π΅Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π½Π° IPA ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈΡΠ΅.
ΠΠ·Π²ΠΎΡ: opennet.ru