Π ΡΠ°ΠΌΠΊΠ°Ρ
ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΠΠ»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΠΠ° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΡΠ°ΠΏΠ΅ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΏΠΎΡΠΎΠΊΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΡΡ Π²ΡΠ½Π΅ΡΡΠΈ ΠΌΠ΅ΠΆΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΡΠ΅ RTL-ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, ΡΡΠΈΡΡΠ²Π°ΡΡΠΈΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ²Π°Π½ΠΈΠ΅ Π²Π½ΡΡΡΠΈΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΉ (IPA), ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ ΠΊ ΠΊΠΎΠ΄Ρ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ Π²ΡΠ·ΠΎΠ²Π°. ΠΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΠΈΠΌ Π·Π²Π΅Π½ΠΎΠΌ ΠΏΠΎΠΊΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ±ΠΎΡΡΠΈΠΊ ΠΌΡΡΠΎΡΠ°, Π² ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π³Π»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°, ΠΎΡΠΊΠ»ΡΡΠ°ΡΡΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ±ΠΎΡΠΊΠΈ ΠΌΡΡΠΎΡΠ° Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ (Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ ΡΠ±ΠΎΡΡΠΈΠΊ ΠΌΡΡΠΎΡΠ° Π±ΡΠ΄Π΅Ρ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°Π½ Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ GCC).
ΠΠ»Ρ ΠΎΡΠ΅Π½ΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½ ΡΠ΅ΡΡΠΎΠ²ΡΠΉ Π½Π°Π±ΠΎΡ, ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΠΈΠΉ ΡΠ±ΠΎΡΠΊΡ ΡΠ°ΠΉΠ»Π° gimple-match.c, Π²ΠΊΠ»ΡΡΠ°ΡΡΠ΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ 100 ΡΡΡΡΡ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΈ 1700 ΡΡΠ½ΠΊΡΠΈΠΉ. Π’Π΅ΡΡΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ΅ Ρ CPU 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