ΠΠ»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² ΡΠΎΡΡΠ°Π² ΡΠ΄ΡΠ° Linux ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ Π½Π°Π±ΠΎΡ ΠΏΠ°ΡΡΠ΅ΠΉ Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ memchr(), ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠΉ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΡΠΈΠΌΠ²ΠΎΠ»Π° Π² ΠΌΠ°ΡΡΠΈΠ²Π΅. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΡΠ°ΡΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ»ΠΎΡΡ ΠΏΠΎΠ±Π°ΠΉΡΠΎΠ²ΠΎΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½Π° Ρ ΡΡΡΡΠΎΠΌ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ 64- ΠΈ 32-ΡΠ°Π·ΡΡΠ΄Π½ΡΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² CPU. ΠΠΌΠ΅ΡΡΠΎ Π±Π°ΠΉΡΠΎΠ² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ°ΡΠΈΠ½Π½ΡΡ ΡΠ»ΠΎΠ², ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π° ΡΠ°Π· ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ 4 Π±Π°ΠΉΡΠ°.
ΠΡΠΈ ΠΏΠΎΠΈΡΠΊΠ΅ Π² Π±ΠΎΠ»ΡΡΠΈΡ ΡΡΡΠΎΠΊΠ°Ρ Π½ΠΎΠ²ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΎΠΊΠ°Π·Π°Π»ΡΡ Π±ΡΡΡΡΠ΅Π΅ ΡΡΠ°ΡΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π² 4 ΡΠ°Π·Π° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΡΡΡΠΎΠΊ Π² 1000 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²). ΠΠ»Ρ ΡΡΡΠΎΠΊ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ Π½ΠΎΠ²ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π΅ ΡΡΠΎΠ»Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½Π°, Π½ΠΎ Π²ΡΡ ΡΠ°Π²Π½ΠΎ Π²ΡΡΠ΅ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ. Π ΡΠ΄ΡΠ΅ Linux ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΡΡ Π² memchr() ΡΡΡΠΎΠΊ Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ 512 Π±Π°ΠΉΡ. ΠΡΠΈΡΠΎΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π»Ρ 512 Π±Π°ΠΉΡΠΎΠ²ΡΡ ΡΡΡΠΎΠΊ, Π² ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΊΠΎΠΌΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ, ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 20%.
Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΄ΡΠ° 5.18 Ρ Π½ΠΎΠ²ΡΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ «memchr()» Π΄Π»Ρ 32- ΠΈ 64-ΡΠ°Π·ΡΡΠ΄Π½ΡΡ
Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡ Π½Π΅ Π²ΡΡΠ²ΠΈΠ»ΠΎ ΠΊΠ°ΠΊΠΈΡ
-Π»ΠΈΠ±ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌ. ΠΠ±ΡΠΈΠΉ ΠΏΡΠΈΡΠΎΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌ ΡΠ΄ΡΠ° ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ° «memchr()» ΠΏΠΎΠΊΠ° Π½Π΅ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π»ΡΡ, ΠΊΠ°ΠΊ Π½Π΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π»Π°ΡΡ ΠΈ ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎΡΡΡ Π·Π°ΠΌΠ΅Π½Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ (Π² ΠΊΠΎΠ΄Π΅ ΡΠ΄ΡΠ° Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ memchr() Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ 129 ΡΠ°Π·, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π² ΠΊΠΎΠ΄Π΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ
ΡΠΈΡΡΠ΅ΠΌ).
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru