Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π˜ΡΠΊΡƒΡΡΡ‚Π²ΠΎ программирования для UnixΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 103

Автор Π Π΅ΠΉΠΌΠΎΠ½Π΄ Π­Ρ€ΠΈΠΊ Π‘Ρ‚ΠΈΠ²Π΅Π½

Π”Π°Π½Π½ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π·Π²ΡƒΡ‡ΠΈΡ‚ Π΅Ρ‰Π΅ ТСстчС для запросов Π½Π° ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅. ΠŸΠΎΡΡ‚ΠΎΡΠ½Π½Ρ‹Π΅ запросы Π½Π° ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠΌ ΠΏΠΎΡ‡Ρ‚ΠΈ всСгда являСтся "Π”Π°", Π²Ρ‹Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡ΠΊΡƒ Π½Π°ΠΆΠΈΠΌΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ "Π”Π°", Π½Π΅ принимая Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ сути запроса, ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡ΠΊΡƒ, которая ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ вСсьма ΠΏΠ΅Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ послСдствия. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² случаС, Ссли имССтся вСская ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° ΠΏΠΎΠ΄ΠΎΠ·Ρ€Π΅Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ "Π½Π΅Ρ‚, Π½Π΅Ρ‚ ΠΈ Π΅Ρ‰Π΅ Ρ€Π°Π· Π½Π΅Ρ‚". Запрос Π½Π° ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅, ΡΡƒΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π΅ являСтся Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎΠΉ, β€” ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ ΠΏΠ»ΠΎΡ…ΠΎΠ³ΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Π°. Π›ΡŽΠ±Ρ‹Π΅ запросы Π½Π° ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ СдинствСнноС, Ρ‡Π΅Π³ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ достаСт интСрфСйсу, это ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ дСйствия.

Если ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ сообщСния ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ Π² цСлях ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, Ρ‚ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² случаС запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΠΊΠ»ΡŽΡ‡ΠΎΠΌ -v (Π²Ρ‹Π²ΠΎΠ΄ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Ρ… свСдСний). ΠŸΠ΅Ρ€Π΅Π΄ ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ выпуском ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ большС ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… сообщСний ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π»ΠΈΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² случаС использования ΠΊΠ»ΡŽΡ‡Π° Π²Ρ‹Π²ΠΎΠ΄Π° ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Ρ… свСдСний.

12 ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ

ΠŸΡ€Π΅ΠΆΠ΄Π΅Π²Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ оптимизация β€” ΠΊΠΎΡ€Π΅Π½ΡŒ всСх Π·ΠΎΠ». β€”Π§. Π₯ΠΎΠ°Ρ€

Данная Π³Π»Π°Π²Π° ΠΎΡ‡Π΅Π½ΡŒ короткая, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π³Π»Π°Π²Π½ΠΎΠ΅, Ρ‡Π΅ΠΌΡƒ ΡƒΡ‡ΠΈΡ‚ ΠΎΠΏΡ‹Ρ‚ Unix ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, β€” ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Π½Π΅ слСдуСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ. ВторостСпСнный ΡƒΡ€ΠΎΠΊ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ эффСктивныС Ρ‚Π°ΠΊΡ‚ΠΈΠΊΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ связаны с мСроприятиями, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌΠΈ ΠΈΠ½Ρ‹Π΅ Ρ†Π΅Π»ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, обСспСчСниС чСткости конструкции.

12.1. ΠžΡ‚ΠΊΠ°Π· ΠΎΡ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ

НаиболСС мощная ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠ° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, входящая Π² инструмСнтарий любого программиста, Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ.

Π­Ρ‚ΠΎΡ‚ вСсьма Π²Ρ‹Π΄Π΅Ρ€ΠΆΠ°Π½Π½Ρ‹ΠΉ Π² Π΄ΡƒΡ…Π΅ Дзэн совСт Π²Π΅Ρ€Π΅Π½ ΠΏΠΎ нСскольким ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ. Одной ΠΈΠ· Π½ΠΈΡ… являСтся ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ эффСкт Π·Π°ΠΊΠΎΠ½Π° ΠœΡƒΡ€Π° β€” самый Ρ€Π°Π·ΡƒΠΌΠ½Ρ‹ΠΉ, Π΄Π΅ΡˆΠ΅Π²Ρ‹ΠΉ ΠΈ часто самый быстрый способ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ прироста ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄ΠΎΠΆΠ΄Π°Ρ‚ΡŒ нСсколько мСсяцСв, ΠΏΠΎΠΊΠ° Ρ†Π΅Π»Π΅Π²ΠΎΠ΅ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ΅ обСспСчСниС станСт Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½Ρ‹ΠΌ. Учитывая Ρ†Π΅Π½ΠΎΠ²ΠΎΠ΅ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌ обСспСчСниСм ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ программиста, ΠΏΠΎΡ‡Ρ‚ΠΈ всСгда ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π»ΡƒΡ‡ΡˆΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ использования Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‡Π΅ΠΌ оптимизация ΡƒΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΉ систСмы.

Данная Ρ‚ΠΎΡ‡ΠΊΠ° зрСния ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ обоснована матСматичСски. ΠŸΠΎΡ‡Ρ‚ΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ слСдуСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ, которая сокращаСт использованиС рСсурсов просто Π½Π° ΠΏΠΎΡΡ‚ΠΎΡΠ½Π½ΡƒΡŽ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ. Π“ΠΎΡ€Π°Π·Π΄ΠΎ Ρ€Π°Π·ΡƒΠΌΠ½Π΅Π΅ ΡΠΊΠΎΠ½Ρ†Π΅Π½Ρ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ усилия Π½Π° случаях, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ срСднСС врСмя запуска ΠΈΠ»ΠΈ использованиС пространства с 0(ΠΏ) Π΄ΠΎ О(я) ΠΈΠ»ΠΈ О (я log ΠΏ)\ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΠΎΠ½ΠΈΠ·ΠΈΡ‚ΡŒ порядок. Богласно Π·Π°ΠΊΠΎΠ½Ρƒ ΠœΡƒΡ€Π°, Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ прирост ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ достаточно быстро ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ΡΡ83.

БущСствуСт другая вСсьма конструктивная Ρ„ΠΎΡ€ΠΌΠ° ΠΎΡ‚ΠΊΠ°Π·Π° ΠΎΡ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ β€” Π½Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄. Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½Π° ΠΊΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π² Π½Π΅ΠΉ Π½Π΅Ρ‚, ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½Π° ΠΊΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² Π½Π΅ΠΉ Π΅ΡΡ‚ΡŒ, Ссли ΠΎΠ½ ΠΌΠ΅Π½Π΅Π΅ эффСктивСн, Ρ‡Π΅ΠΌ ΠΌΠΎΠ³ Π±Ρ‹ Π±Ρ‹Ρ‚ΡŒ. Однако это ΡƒΠΆΠ΅ другая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°.

12.2. Π˜Π·ΠΌΠ΅Ρ€Π΅Π½ΠΈΡ ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ

Когда ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ слишком ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, Ρ‚ΠΎΠ³Π΄Π° (ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°) наступаСт врСмя ΠΎΠ±Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΊΠΎΠ΄Π°. Однако ΠΏΠ΅Ρ€Π΅Π΄ этим Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅Ρ‡Ρ‚ΠΎ большСС β€” провСсти измСрСния.

ЧитатСлям слСдуСт Π²ΡΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΡˆΠ΅ΡΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ» Π ΠΎΠ±Π° Пайка, описанных Π² Π³Π»Π°Π²Π΅ 1. Один ΠΈΠ· ΠΏΠ΅Ρ€Π²Ρ‹Ρ… ΡƒΡ€ΠΎΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ усвоили программисты Unix, Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ интуиция β€” Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΉ совСтчик ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ мСстополоТСния "Π±ΡƒΡ‚Ρ‹Π»ΠΎΡ‡Π½Ρ‹Ρ… Π³ΠΎΡ€Π»Ρ‹ΡˆΠ΅ΠΊ", ΠΏΡ€ΠΈΡ‡Π΅ΠΌ Π΄Π°ΠΆΠ΅ для Ρ‚ΠΎΠ³ΠΎ, ΠΊΡ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π·Π½Π°Π΅Ρ‚ свой ΠΊΠΎΠ΄. Unix-систСмы, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ вмСстС с ΠΏΡ€ΠΎΡ„Π°ΠΉΠ»Π΅Ρ€Π°ΠΌΠΈ (profiler β€” ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° протоколирования), ΠΈ ΠΈΡ… стоит ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ.

Π§Ρ‚Π΅Π½ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΡ„Π°ΠΉΠ»Π΅Ρ€Π° Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ с искусством. БущСствуСт нСсколько пСриодичСски ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ: пСрвая β€” ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΡŒ измСрСния, вторая β€” влияниС Π½Π°Π»Π°Π³Π°Π΅ΠΌΡ‹Ρ… Π²Π½Π΅ΡˆΠ½ΠΈΡ… Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ, Ρ‚Ρ€Π΅Ρ‚ΡŒΡ β€” пСрСвСс Π²Π΅Ρ€Ρ…Π½ΠΈΡ… ΡƒΠ·Π»ΠΎΠ² Π³Ρ€Π°Ρ„Π° Π²Ρ‹Π·ΠΎΠ²ΠΎΠ².

Π€ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ являСтся ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΠΈ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ. ΠŸΡ€ΠΎΡ„Π°ΠΉΠ»Π΅Ρ€Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ свои Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, внСдряя инструкции, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„ΠΈΠΊΡΠΈΡ€ΡƒΡŽΡ‚ врСмя выполнСния Π² Ρ‚ΠΎΡ‡ΠΊΠ°Ρ… Π²Ρ…ΠΎΠ΄Π° ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² фиксированных ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π°Ρ… Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΌ ΠΊΠΎΠ΄Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… инструкций само ΠΏΠΎ сСбС ΠΎΡ‚Π½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ сокращаСтся разброс Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ²: ΠΎΡ‡Π΅Π½ΡŒ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ часто выглядят Π±ΠΎΠ»Π΅Π΅ дорогостоящими, Ρ‡Π΅ΠΌ ΠΎΠ½ΠΈ Π΅ΡΡ‚ΡŒ Π½Π° самом Π΄Π΅Π»Π΅, с большим количСством ΡˆΡƒΠΌΠ° Π² ΠΈΡ… ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π²Ρ‹Π·ΠΎΠ²Π°, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ для Π±ΠΎΠ»Π΅Π΅ Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈΠ·Π΄Π΅Ρ€ΠΆΠΊΠΈ измСрСния Π½Π΅Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹.

ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΡŒ измСрСния, Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ значСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ для самых быстрых, ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠΈΡ… ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΈΠ·-Π·Π° ΡˆΡƒΠΌΠ° Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Π²Ρ‹ΡˆΠ΅Π½Ρ‹. Π˜Ρ… Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ большого количСства Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ссли ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΎΡ‡Π΅Π½ΡŒ часто, ΠΎΠ΄Π½Π°ΠΊΠΎ, слСдуСт ΡƒΠ΄Π΅Π»ΠΈΡ‚ΡŒ Π΄ΠΎΠ»ΠΆΠ½ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ статистичСским Π΄Π°Π½Π½Ρ‹ΠΌ ΠΏΠΎ количСству ΠΈΡ… Π²Ρ‹Π·ΠΎΠ²ΠΎΠ².

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° внСшнСй Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ‚Π°ΠΊΠΆΠ΅ являСтся Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π²ΠΈΠ΄Ρ‹ Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ ΠΈ искаТСний, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ Π²Π½Π΅ поля зрСния ΠΏΡ€ΠΎΡ„Π°ΠΉΠ»Π΅Ρ€Π°. ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΈΠ·Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с нСпрСдсказуСмой Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ: доступ ΠΊ дискам ΠΈ сСтям, Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ кэша, ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ контСкста процСссов ΠΈ ΠΈΠΌ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π½Π΅ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ β€” Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΡ… ΠΈ трСбуСтся ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚ΡŒ, особСнно Ссли основноС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ удСляСтся ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ систСмы Π² Ρ†Π΅Π»ΠΎΠΌ, Π° Π½Π΅ просто Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠ΅ критичСски Π²Π°ΠΆΠ½ΠΎΠ³ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ Ρ†ΠΈΠΊΠ»Π°. РСальная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ содСрТат случайный ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, Π° это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ любого ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ запуска ΠΏΡ€ΠΎΡ„Π°ΠΉΠ»Π΅Ρ€Π° ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ самыми достовСрными.

Одним ΠΈΠ· способов ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ влияния ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… источников ΡˆΡƒΠΌΠ° ΠΈ получСния Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅Ρ‚ΠΊΠΎΠΉ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρ‹ ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² срСднСм случаС являСтся слоТСниС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΎΡ‚ мноТСства запусков ΠΏΡ€ΠΎΡ„Π°ΠΉΠ»Π΅Ρ€Π°. БущСствуСт мноТСство вСсомых ΠΏΡ€ΠΈΡ‡ΠΈΠ½ для создания срСдств тСстирования ΠΈ тСстовых Π½Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ Π΄ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. НаиболСС Π²Π°ΠΆΠ½ΠΎΠΉ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΠΎΠΉ, Ρ‡Π΅ΠΌ Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ впослСдствии, ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π½ΠΎΠ΅ тСстированиС Π΅Π΅ коррСктности. ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ это сдСлано, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ тСстов ΠΏΠΎΠ΄ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ являСтся Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹ΠΌ эффСктом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ часто прСдоставляСт Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Ρ‡Π΅ΠΌ нСсколько запусков Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

Π Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΊΡ‚ΠΎΡ€Ρ‹ склонны ΠΏΠ΅Ρ€Π΅ΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π° Π½Π΅ Π½Π° Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅, Ρ‡Ρ‚ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ вСс Π²Π΅Ρ€Ρ…Π½ΠΈΡ… ΡƒΠ·Π»ΠΎΠ² Π³Ρ€Π°Ρ„Π° Π²Ρ‹Π·ΠΎΠ²ΠΎΠ². НапримСр, ΠΈΠ·Π΄Π΅Ρ€ΠΆΠΊΠΈ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ часто относят ΠΊ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ (Ρ‚Π°ΠΊ это ΠΈΠ»ΠΈ Π½Π΅Ρ‚, Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ стСпСни зависит ΠΎΡ‚ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΈ ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π³Π΄Π΅ ΠΏΡ€ΠΎΡ„Π°ΠΉΠ»Π΅Ρ€Ρƒ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Ρ‹). ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ ΠΈ встраиваСмыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π² случаС Ссли компилятор ΠΈΡ… ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚, Π½Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² ΠΎΡ‚Ρ‡Π΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ„Π°ΠΉΠ»Π΅Ρ€Π° Π²ΠΎΠΎΠ±Ρ‰Π΅. РасходуСмоС ΠΈΠΌΠΈ врСмя относится ΠΊ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π‘ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ срСдства ΡƒΡ‡Π΅Ρ‚Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ Ρ‚Π°ΠΊΠΎΠ΅ Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»Π΅Π½ΠΈΠ΅, Π±ΡƒΠ΄Ρ‚ΠΎ врСмя, Π·Π°Ρ‚Ρ€Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ Π½Π° ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, относится ΠΊ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. (Данная ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Π° для ΠΏΡ€ΠΎΡ„Π°ΠΉΠ»Π΅Ρ€Π° gprof(1), распространяСмого Π² составС Unix-систСм с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ исходными ΠΊΠΎΠ΄Π°ΠΌΠΈ). ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ· Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ Π½Π΅ даст достовСрных Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ², Ссли ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ нСсколько Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ β€” Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π±Ρ‹Π»ΠΎ Π±Ρ‹ искусствСнноС сокращСниС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ всСх Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. ОсобСнно опасным являСтся распространСнный случай Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с нСсколькими ΡƒΠ·Π»Π°ΠΌΠΈ Π²Ρ‹Π·ΠΎΠ²Π°, ΠΎΠ΄Π½ΠΈ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡΠΎΠ·Π΄Π°ΡŽΡ‚ мноТСство ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΡ… Π²Ρ‹Π·ΠΎΠ²ΠΎΠ², Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ нСсколько слоТных.