javascript врСмя выполнСния скрипта

Π˜Π·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ JavaScript-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ

Π˜Π·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ β€” это Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ способ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ΄Π½Π° рСализация Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° являСтся Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ, Ρ‡Π΅ΠΌ другая. Π­Ρ‚ΠΎ позволяСт ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ пострадала послС Π½Π΅ΠΊΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, внСсённых Π² ΠΊΠΎΠ΄. Π­Ρ‚ΠΎ, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΡƒΠ·ΠΊΠΈΠ΅ мСста ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Если Π²Π΅Π±-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ высокой ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ β€” это вносит Π²ΠΊΠ»Π°Π΄ Π² Π΅Π³ΠΎ ΠΏΠΎΠ·ΠΈΡ‚ΠΈΠ²Π½ΠΎΠ΅ восприятиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ. А Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΠΏΠΎΠ½Ρ€Π°Π²ΠΈΠ»ΠΎΡΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с рСсурсом β€” ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ свойство Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ. НапримСр, Π² этом исслСдовании ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, Ρ‡Ρ‚ΠΎ 88% ΠΎΠ½Π»Π°ΠΉΠ½-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΌΠ΅Π½Π΅Π΅ склонны Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ Π½Π° рСсурсы, ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΎΠ½ΠΈ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ с ΠΊΠ°ΠΊΠΈΠΌΠΈ-Ρ‚ΠΎ нСудобствами. Π­Ρ‚ΠΈ нСудобства Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½Ρ‹ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ.

ИмСнно поэтому Π² Π΄Π΅Π»Π΅ Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²Π°ΠΆΠ½Ρ‹ инструмСнты, ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‰ΠΈΠ΅ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΡƒΠ·ΠΊΠΈΠ΅ мСста ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΠΈΠ·ΠΌΠ΅Ρ€ΡΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠΉ, вносимых Π² ΠΊΠΎΠ΄. ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ инструмСнты особСнно Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ Π² JavaScript-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅. Π—Π΄Π΅ΡΡŒ Π²Π°ΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ каТдая строка JavaScript-ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚, Π² ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π΅, Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ DOM, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ JavaScript β€” это ΠΎΠ΄Π½ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ язык.

javascript врСмя выполнСния скрипта. byofjlhqvkjueyjzh cyymte qg. javascript врСмя выполнСния скрипта Ρ„ΠΎΡ‚ΠΎ. javascript врСмя выполнСния скрипта-byofjlhqvkjueyjzh cyymte qg. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° javascript врСмя выполнСния скрипта. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° byofjlhqvkjueyjzh cyymte qg. Π˜Π·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ β€” это Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ способ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ΄Π½Π° рСализация Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° являСтся Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ, Ρ‡Π΅ΠΌ другая. Π­Ρ‚ΠΎ позволяСт ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ пострадала послС Π½Π΅ΠΊΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, внСсённых Π² ΠΊΠΎΠ΄. Π­Ρ‚ΠΎ, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΡƒΠ·ΠΊΠΈΠ΅ мСста ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Π’ этом ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π΅ я расскаТу ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΈ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ.

Если Π²Ρ‹ ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ вычислСния слишком тяТСлы для выполнСния ΠΈΡ… Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅, Ρ‚ΠΎ Π²Ρ‹, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ€Π΅ΡˆΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΈΡ… Π² сСрвис-Π²ΠΎΡ€ΠΊΠ΅Ρ€ ΠΈΠ»ΠΈ Π² Π²Π΅Π±-Π²ΠΎΡ€ΠΊΠ΅Ρ€.

ΠœΠ΅Ρ‚ΠΎΠ΄ performance.now()

Π’ Chrome послС выполнСния этого ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊΠΎΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

Как Π²ΠΈΠ΄Π½ΠΎ, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π² Ρ€Π°Π·Π½Ρ‹Ρ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…, ΡΠ΅Ρ€ΡŒΡ‘Π·Π½ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ. Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² Firefox 60 Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ², Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Ρ… API Performance, сниТСна. ΠœΡ‹ Π΅Ρ‰Ρ‘ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎΠ± этом.

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ Performance ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ Π³ΠΎΡ€Π°Π·Π΄ΠΎ большими возмоТностями, Ρ‡Π΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ Π½Π΅ΠΊΠΎΠ΅ΠΉ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΊΠΈ. К Π½ΠΈΠΌ относятся ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… аспСктов ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, прСдставлСнныС Ρ‚Π°ΠΊΠΈΠΌΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡΠΌΠΈ этого интСрфСйса, ΠΊΠ°ΠΊ API Performance Timeline, Navigation Timing, User Timing, Resource Timing. Π’ΠΎΡ‚ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ подробности ΠΎΠ± этих API.

Date.now() ΠΈ performance.now()

ΠœΠ΅Ρ‚ΠΎΠ΄ console.time()

Π’ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого API, такая ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΏΡ€ΠΈ использовании API Performance, Π½ΠΎ Ρ‚ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ точности удастся Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ситуации, зависит ΠΎΡ‚ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°.

ПослС выполнСния ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° систСма автоматичСски Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ Π² консоль свСдСния ΠΎ ΠΏΡ€ΠΎΡˆΠ΅Π΄ΡˆΠ΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π’ Chrome это Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

Бильная сторона ΠΌΠ΅Ρ‚ΠΎΠ΄Π° console.time() Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² простотС Π΅Π³ΠΎ использования. А ΠΈΠΌΠ΅Π½Π½ΠΎ, Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Ρ‘Ρ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ объявлСния Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ нахоТдСния Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ записанными Π² Π½ΠΈΡ… показатСлями.

БниТСнная Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ

Если Π²Ρ‹, ΠΏΠΎΠ»ΡŒΠ·ΡƒΡΡΡŒ Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½Ρ‹ΠΌΠΈ срСдствами, измСряли ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ своСго ΠΊΠΎΠ΄Π° Π² Ρ€Π°Π·Π½Ρ‹Ρ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…, Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ.

ΠŸΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ этого являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ ΠΏΡ‹Ρ‚Π°ΡŽΡ‚ΡΡ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΎΡ‚ Π°Ρ‚Π°ΠΊ, основанных Π½Π° Π°Π½Π°Π»ΠΈΠ·Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΈ ΠΎΡ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² (Browser Fingerprinting). Если Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ измСрСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ окаТутся слишком Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌΠΈ, это ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°Ρ‚ΡŒ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠ°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

Π’ Firefox 60, ΠΊΠ°ΠΊ ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΎ сказано, Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² измСрСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ сниТСна. Π­Ρ‚ΠΎ сдСлано с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ установки значСния свойства privacy.reduceTimerPrecision Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 2 мс.

КоС-Ρ‡Ρ‚ΠΎ, ΠΎ Ρ‡Ρ‘ΠΌ стоит ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, тСстируя ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π² вашСм распоряТСнии Π΅ΡΡ‚ΡŒ инструмСнты, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ JavaScript-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Но, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒΡΡ Π·Π° Π΄Π΅Π»ΠΎ, Π½ΡƒΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ особСнности, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΡ‹ сСйчас ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ.

▍РаздСляй ΠΈ властвуй

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹, Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΡ Π½Π΅ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠ»ΠΈ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ прилоТСния. Но Π²Ρ‹ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅ ΠΎ Ρ‚ΠΎΠΌ, Π³Π΄Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ находится ΡƒΠ·ΠΊΠΎΠ΅ мСсто ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

ВмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΄ΠΎΠ³Π°Π΄ΠΊΠΈ ΠΎ Ρ‚ΠΎΠΌ, какая ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, Π»ΡƒΡ‡ΡˆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ это, воспользовавшись Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠ°ΠΌΠΈ.

Π§Π΅ΠΌ мСньшС ΠΊΠΎΠ΄Π° находится ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΈΠ·ΠΌΠ΅Ρ€ΡΡŽΡ‰ΠΈΡ… врСмя, Ρ‚Π΅ΠΌ Π½ΠΈΠΆΠ΅ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈΠ·ΠΌΠ΅Ρ€ΡΡ‚ΡŒΡΡ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΊ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠΉ ситуации.

▍УчитывайтС особСнности повСдСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΡ€ΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… значСниях

Π’ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… прилоТСниях Π΄Π°Π½Π½Ρ‹Π΅, ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰ΠΈΠ΅ Π½Π° Π²Ρ…ΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ. Если ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Π»ΠΈ Π½Π΅ΠΊΠΈΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ…, это Π½Π΅ даст Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Ρ†Π΅Π½Π½Ρ‹Ρ… свСдСний, способных ΠΏΡ€ΠΎΡΡΠ½ΠΈΡ‚ΡŒ происходящСС.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΈ исслСдовании ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ с Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, максимально Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌΠΈ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅.

▍ЗапускайтС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·

Π’ΠΎΡ‚ Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

ПослС запуска ΠΊΠΎΠ΄Π° ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹:

На самом Π΄Π΅Π»Π΅, послС ΠΎΠ΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ³ΠΎ испытания Ρ€Π°Π½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ Π²Ρ‹Π²ΠΎΠ΄Ρ‹. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠΎ Π΄Π²Π° Ρ€Π°Π·Π°:

▍ВСстируйтС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² Ρ€Π°Π·Π½Ρ‹Ρ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…

Π’Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹Π΅ тСсты Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡŒ Π² Firefox. А Ρ‡Ρ‚ΠΎ Ссли Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΈΡ… Π² Chrome? Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ совсСм Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ:

Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ Chrome ΠΈ Firefox основаны Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… JavaScript-Π΄Π²ΠΈΠΆΠΊΠ°Ρ…, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Об этих различиях вСсьма ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π½Π°Ρ‚ΡŒ.

β–ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠΉΡ‚Π΅ искусствСнныС ограничСния систСмных рСсурсов

ЗначСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Ρ‹ Π² Π½Π°ΡˆΠΈΡ… экспСримСнтах, Π½Π΅ выглядят особСнно большими. Но Π·Π½Π°ΠΉΡ‚Π΅ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π³ΠΎΡ€Π°Π·Π΄ΠΎ быстрСС Ρ‡Π΅ΠΌ, скаТСм, срСдний ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ Π²Π΅Π±-страницы.

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ сСбя Π½Π° мСсто ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ Π½Π΅ самым быстрым устройством, Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ возмоТностями Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° ΠΏΠΎ искусствСнному ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡŽ систСмных рСсурсов. НапримСр β€” ΠΏΠΎ сниТСнию ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ процСссора.

ΠŸΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅ 10 ΠΈΠ»ΠΈ 50 миллисСкунд Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ Π² 500.

β–Π˜Π·ΠΌΠ΅Ρ€ΡΠΉΡ‚Π΅ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ зависят Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ обСспСчСния, Π½ΠΎ ΠΈ ΠΎΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° процСссор, ΠΈ ΠΎΡ‚ загруТСнности Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ° JavaScript-прилоТСния. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΠΎΡΡ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ ΠΎΠΏΠΈΡ€Π°Ρ‚ΡŒΡΡ Π½Π° ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹Π΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° ΠΊΠΎΠ΄Π° Π² Ρ€Π°Π·Π½ΠΎΠ΅ врСмя, ΠΌΠΎΠ³ΡƒΡ‚ сильно Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ.

Π˜Ρ‚ΠΎΠ³ΠΈ

Π£ мСня Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΡ‰ΡƒΡ‰Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π½Π΅ ΡƒΠ΄Π΅Π»ΡΡŽΡ‚ достаточно внимания ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ своих ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². А ΠΈΠΌ стоило Π±Ρ‹ постоянно ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ показатСлями, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ влияСт Π½Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΈΠ±Ρ‹Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

Π£Π²Π°ΠΆΠ°Π΅ΠΌΡ‹Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ! Если Π²Ρ‹ постоянно ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ своих ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², просим Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π²Ρ‹ это Π΄Π΅Π»Π°Π΅Ρ‚Π΅.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Как ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚ΡŒ врСмя выполнСния скрипта

БСгодня ΠΌΡ‹ рассмотрим, сколько ΠΈΠΌΠ΅Π½Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ Ρƒ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎΠ± Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ?

Π’ этом ΡƒΡ€ΠΎΠΊΠ΅ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ Π΄Π²Π° Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ классичСских способа ΠΏΠΎ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΡŽ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ вашСго скрипта. Π”Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ вашСго прилоТСния ΠΈ Π½Π°ΠΉΡ‚ΠΈ Ρ‚Π΅ участки ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Ρ‡Ρ‚ΠΎΠ± ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ….

Π˜Ρ‚Π°ΠΊ, ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ способ, это использованиС ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ console. ВсС Π·Π½Π°ΠΊΠΎΠΌΡ‹ с ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ console.log(), с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ сообщСния ΠΈ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈ ошибки. ΠšΡ€ΠΎΠΌΠ΅ console.log() Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° console сущСствуСт ΠΌΠ΅Ρ‚ΠΎΠ΄ time со ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ синтаксисом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ Π² Π΄Π²Π΅ строки Π·Π°ΠΌΠ΅Ρ€ΡΡ‚ΡŒ врСмя выполнСния Π±Π»ΠΎΠΊΠ° вашСго ΠΊΠΎΠ΄Π°.

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ± этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Π», трСбуСтся Π² Π½Π°Ρ‡Π°Π»Π΅ Π±Π»ΠΎΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ нСпосрСдствСнно Π·Π°ΠΌΠ΅Ρ€ΡΡ‚ΡŒ, ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ console.time() с ΠΊΠ»ΡŽΡ‡ΠΎΠΌ, ΠΊΠ°ΠΊ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ, Π² нашСм случаС это Π±ΡƒΠ΄Π΅Ρ‚ FirstWay.

Π”Π°Π»Π΅Π΅ ΠΈΠ΄Ρ‘Ρ‚ ваш Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°, Π² нашСм случаС, это нСбольшая функция someFunction(). Когда ваш ΠΊΠΎΠ΄ ΡƒΠΆΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, сколько Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ заняло Π΅Π³ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, вызываСтся ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ console.timeEnd() с Ρ‚Π΅ΠΌ ΠΆΠ΅ самым ΠΊΠ»ΡŽΡ‡ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Π·Π°Π΄Π°Π²Π°Π»ΠΈ Ρ€Π°Π½Π΅Π΅.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ устанавливаСм Π½Π°Ρ‡Π°Π»ΠΎ ΠΈ ΠΊΠΎΠ½Π΅Ρ† Π·Π°ΠΌΠ΅Ρ€Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠ΄Π°. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π·Π°ΠΌΠ΅Ρ€Π° ΠΌΡ‹ смоТСм ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π² консоли. Π”Π°Π½Π½Ρ‹Π΅ выводятся Π² миллисСкундах.

Π’Ρ‚ΠΎΡ€ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ считаСтся Π±ΠΎΠ»Π΅Π΅ классичСским ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ. Π’ этом Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ большС строчСк ΠΊΠΎΠ΄Π°, Π½ΠΎ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎΡΡ‚ΡŒ Π² консоли ΠΎΡ‚ΠΏΠ°Π΄Π°Π΅Ρ‚. Π’ этом ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ трСбуСтся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ константу start. Π’ Π½Π΅ΠΉ ΠΌΡ‹ объявляСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ new Date() с ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ getTime() для установлСния Π½Π°Ρ‡Π°Π»Π° отсчёта Π·Π°ΠΌΠ΅Ρ€Π°.

Π—Π°Ρ‚Π΅ΠΌ слСдуСт ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ вас интСрСсуСт. ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ функция, Π½ΠΎ ΠΈ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°, врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°ΠΌΠ΅Ρ€ΡΡ‚ΡŒ.

Когда скрипт выполнился, Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ константу end с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ new Date() ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ getTime(), Ρ‡Ρ‚ΠΎΠ± ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Π΅Ρ† Π·Π°ΠΌΠ΅Ρ€Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠ΄Π°.

Π”Π°Π»Π΅Π΅, простым ΠΎΡ‚Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ΠΌ end β€” start ΠΌΡ‹ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Π½ΡƒΠΆΠ½ΡƒΡŽ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ Π² миллисСкундах ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΌ извСстно, сколько Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΡƒΡˆΠ»ΠΎ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅ Π΄Π²Π° Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ простых ΠΈ распространённых способа ΠΏΠΎ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΡŽ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ вашСго ΠΊΠΎΠ΄Π°! ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ способ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Ρ‘Ρ‚ для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ провСряСт ΠΊΠΎΠ΄ Π² консоли Π»ΠΈΡ‡Π½ΠΎ, Π΄Π΅Π±Π°ΠΆΠΈΡ‚ΡŒ Π΅Π³ΠΎ. Π’Ρ‚ΠΎΡ€ΠΎΠΉ способ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Ρ‘Ρ‚ Ρ‚Π΅ΠΌ, ΠΊΠΎΠΌΡƒ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ значСния Π² консоль ΠΈΠ»ΠΈ ΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π˜Π·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² JavaScript

javascript врСмя выполнСния скрипта. 33d9acbd82db46d1bab42e089fb28d6f. javascript врСмя выполнСния скрипта Ρ„ΠΎΡ‚ΠΎ. javascript врСмя выполнСния скрипта-33d9acbd82db46d1bab42e089fb28d6f. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° javascript врСмя выполнСния скрипта. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 33d9acbd82db46d1bab42e089fb28d6f. Π˜Π·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ β€” это Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ способ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ΄Π½Π° рСализация Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° являСтся Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ, Ρ‡Π΅ΠΌ другая. Π­Ρ‚ΠΎ позволяСт ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ пострадала послС Π½Π΅ΠΊΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, внСсённых Π² ΠΊΠΎΠ΄. Π­Ρ‚ΠΎ, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΡƒΠ·ΠΊΠΈΠ΅ мСста ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

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

ВСроятно, Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ подозрСния ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π²Π°ΠΌΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈΠΊΠΈΠ½ΡƒΠ»ΠΈ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ. Но ΠΊΠ°ΠΊ Π²Ρ‹ ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ прирост ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ? Как ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΈ быстро ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² JavaScript? Π˜Π΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ performance.now() ΠΈ ΠΈΠ·ΠΌΠ΅Ρ€ΡΡ‚ΡŒ врСмя Π΄ΠΎ ΠΈ послС выполнСния Π²Π°ΡˆΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ рассмотрим, ΠΊΠ°ΠΊ это дСлаСтся, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ ряд ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Ρ… ΠΊΠ°ΠΌΠ½Π΅ΠΉ.

Performance.now()

Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ монотонная функция Π»ΠΈΠ±ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ возрастаСт, Π»ΠΈΠ±ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠ±Ρ‹Π²Π°Π΅Ρ‚. Π”Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ понимания: ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° Π»Π΅Ρ‚Π½Π΅Π΅ ΠΈΠ»ΠΈ Π·ΠΈΠΌΠ½Π΅Π΅ врСмя, ΠΊΠΎΠ³Π΄Π° всС часы Π² странС пСрСводятся Π½Π° час Π½Π°Π·Π°Π΄ ΠΈΠ»ΠΈ час Π²ΠΏΠ΅Ρ€Ρ‘Π΄. Если ΠΌΡ‹ сравним значСния Π΄Π²ΡƒΡ… ΠΊΠΎΠΏΠΈΠΉ Date β€” Π΄ΠΎ ΠΈ послС ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° часов, Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ€Π°Π·Π½ΠΈΡ†Ρƒ Β«1 час 3 сСкунды ΠΈ 123 миллисСкунды». А ΠΏΡ€ΠΈ использовании Π΄Π²ΡƒΡ… ΠΊΠΎΠΏΠΈΠΉ performance.now() β€” Β«3 сСкунды 123 миллисСкунды 456 789 тысячных миллисСкунды». НС Π±ΡƒΠ΄Π΅ΠΌ здСсь ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒ этот API, ΠΆΠ΅Π»Π°ΡŽΡ‰ΠΈΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Discovering the High Resolution Time API.

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ способом:

Если Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅, Ρ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Ошибка β„– 1: случайноС ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Ρ… Π²Π΅Ρ‰Π΅ΠΉ

Ошибка β„– 2: ΠΎΠ΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅

МногиС проводят лишь ΠΎΠ΄Π½ΠΎ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅, ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ ΠΎΠ±Ρ‰Π΅Π΅ врСмя ΠΈ Π΄Π΅Π»Π°ΡŽΡ‚ Π΄Π°Π»Π΅ΠΊΠΎ ΠΈΠ΄ΡƒΡ‰ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄Ρ‹. Но ситуация ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ, вСдь ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ выполнСния сильно зависит ΠΎΡ‚ Ρ‚Π°ΠΊΠΈΡ… Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ², ΠΊΠ°ΠΊ:

Риск Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π½Ρ‹ΠΉ JavaScript-Π΄Π²ΠΈΠΆΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΡΡƒΠ±ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ, Ρ‚. Π΅. Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π· функция Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½Π° с Ρ‚Π΅ΠΌΠΈ ΠΆΠ΅ Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°ΠΏΠΎΠΌΠ½Π΅Π½Ρ‹ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ Π² дальнСйшСм. Π§Ρ‚ΠΎΠ±Ρ‹ это ΠΎΠ±ΠΎΠΉΡ‚ΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π½Ρ‹Ρ… Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… строк вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π· Π·Π° Ρ€Π°Π·ΠΎΠΌ Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Однако ΠΏΡ€ΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ выполнСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π°Π· ΠΎΡ‚ Ρ€Π°Π·Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ.

Ошибка β„– 3: излишнСС Π΄ΠΎΠ²Π΅Ρ€ΠΈΠ΅ ΠΊ срСдним значСниям

Π˜Ρ‚Π°ΠΊ, цСлСсообразно Π΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ΅Ρ€ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚ΠΎΡ‡Π½Π΅Π΅ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Но ΠΊΠ°ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ссли ΠΏΡ€ΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ½Π° выполняСтся с Ρ€Π°Π·Π½ΠΎΠΉ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ? Π”Π°Π²Π°ΠΉΡ‚Π΅ сначала поэкспСримСнтируСм ΠΈ ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΠΌ врСмя выполнСния Π΄Π΅ΡΡΡ‚ΡŒ Ρ€Π°Π· с ΠΎΠ΄Π½ΠΈΠΌΠΈ ΠΈ Ρ‚Π΅ΠΌΠΈ ΠΆΠ΅ Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, насколько самоС ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ отличаСтся ΠΎΡ‚ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ…. Π‘ΠΊΠΎΡ€Π΅Π΅ всСго, ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° ΠΊΠ°ΠΊ Ρ€Π°Π· Π² ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ субоптимизации ΠΈ Π² нСобходимости Β«ΠΏΡ€ΠΎΠ³Ρ€Π΅Π²Π°Β» компилятора. Мало Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ этого ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ, Π½ΠΎ Π·Π°Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π΅Π·ΠΎΠΏΠ°ΡΠΈΡ‚ΡŒ сСбС ΠΎΡ‚ Π½Π΅Π²Π΅Ρ€Π½Ρ‹Ρ… Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ.

НапримСр, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ срСднСарифмСтичСскоС ΠΈΠ· ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… дСвяти. Но Π»ΡƒΡ‡ΡˆΠ΅ Π²Π·ΡΡ‚ΡŒ всС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΈ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΌΠ΅Π΄ΠΈΠ°Π½Ρƒ. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΡΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΠΎ порядку, ΠΈ выбираСтся срСдний. Π’ΠΎΡ‚ Π³Π΄Π΅ performance.now() ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π΅Π½, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ.

Π˜Ρ‚Π°ΠΊ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΠΌ снова, Π½ΠΎ Π² этот Ρ€Π°Π· ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ срСдинноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ:

Ошибка β„– 4: сравнСниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² прСдсказуСмом порядкС

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ всСгда Π»ΡƒΡ‡ΡˆΠ΅ Π΄Π΅Π»Π°Ρ‚ΡŒ нСсколько ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ ΠΈ Π±Ρ€Π°Ρ‚ΡŒ срСднСС. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, послСдний ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² ΠΈΠ΄Π΅Π°Π»Π΅ Π½ΡƒΠΆΠ½ΠΎ вмСсто срСднСго Π±Ρ€Π°Ρ‚ΡŒ ΠΌΠ΅Π΄ΠΈΠ°Π½Ρƒ.

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ†ΠΈΠΊΠ» haystack.forEach Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ всС элСмСнты, Π΄Π°ΠΆΠ΅ Ссли ΠΌΡ‹ быстро нашли совпадСниС. Π’ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ старым Π΄ΠΎΠ±Ρ€Ρ‹ΠΌ for:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ посмотрим, ΠΊΠ°ΠΊΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ быстрСС. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΠΎ Π΄Π΅ΡΡΡ‚ΡŒ Ρ€Π°Π· ΠΈ вычислим Β«ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅Β» Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹:

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠΌ Ρ‚Π°ΠΊΠΎΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

Π’Ρ‹Π²ΠΎΠ΄Ρ‹

Π•Ρ‰Ρ‘ ΠΎΠ΄Π½Π° ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π½Π°Ρ‚ΡŒ Π·Π°Ρ€Π°Π½Π΅Π΅, ΠΊΠ°ΠΊΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ быстрСС, Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ всё зависит ΠΎΡ‚ ситуации. Π’ послСднСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ искали совпадСниС срСди 26 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π²Π½Π΅ зависимости ΠΎΡ‚ рСгистра. Но Ссли ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΊΠ°Ρ‚ΡŒ срСди 100 000 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Ρ‚ΠΎ Π²Ρ‹Π±ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΈΠ½Ρ‹ΠΌ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Javascript врСмя выполнСния скрипта

Javascript console.time

javascript врСмя выполнСния скрипта. 114. javascript врСмя выполнСния скрипта Ρ„ΠΎΡ‚ΠΎ. javascript врСмя выполнСния скрипта-114. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° javascript врСмя выполнСния скрипта. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 114. Π˜Π·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ β€” это Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ способ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ΄Π½Π° рСализация Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° являСтся Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ, Ρ‡Π΅ΠΌ другая. Π­Ρ‚ΠΎ позволяСт ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ пострадала послС Π½Π΅ΠΊΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, внСсённых Π² ΠΊΠΎΠ΄. Π­Ρ‚ΠΎ, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΡƒΠ·ΠΊΠΈΠ΅ мСста ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Π’ javascript Π΅ΡΡ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ конструкции ΠΊΠΎΠ΄Π° для опрСдСлСния скорости выполнСния скрипта.

Допустим ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ врСмя Π²Ρ‹Π²ΠΎΠ΄Π° Π² консоль Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° сообщСния тСст:

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ Π² консоли:

ВрСмя выполнСния скрипта: 2.19482421875ms

ВрСмя выполнСния скрипта указываСтся Π² милисСкундах. Π’ΠΎ Π΅ΡΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ Π² консоль Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° тСкста Ρƒ нас ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» Π·Π° 2 милисСкунды. ΠšΡ‚ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ‚ 1 милисСкунда это ΠΎΠ΄Π½Π° тысячная 1 сСкунды.

Для Π·Π°ΠΌΠ΅Ρ€Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния скрипта Π½ΡƒΠΆΠ½ΠΎ Π΅Π³ΠΎ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ console.time() ΠΈ console.timeEnd()

Как Π²Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ console.time() ΠΈ console.timeEnd()ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹ΠΌΠΈ ΠΈ выводят Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² консоль Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°.

Π’ качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ строку которая Ρ‚Π°ΠΊΠΆΠ΅ выводится Π² консоль. ΠžΡ‚ΠΌΠ΅Ρ‡Ρƒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² console.time() ΠΈ console.timeEnd() Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ собой, Ссли ΠΌΡ‹ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ вывСсти Ρ‚Π°ΠΊ:

Ρƒ нас Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ получится Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π΄Π²ΡƒΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ ΠΌΠ΅ΠΆΠ΄Ρƒ собой.

Однако ΠΌΡ‹ ΠΏΠΎΠ»ΡŒΠ·ΡƒΡΡΡŒ Π΄Π°Π½Π½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ интСрСсныС Π²Π΅Ρ‰ΠΈ:

Π—Π΄Π΅ΡΡŒ Π½Π°ΠΌ Π² консоль вывСдСтся врСмя выполнСния ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π° ΠΈ Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΎΠ±Ρ‰Π΅Π΅ врСмя выполнСния Ρ†ΠΈΠΊΠ»Π°.

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ всСго скрипта, Π½ΠΎ ΠΈ Π΅Π³ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… частСй. Π― ΡΡ‡ΠΈΡ‚Π°ΡŽ Ρ‡Ρ‚ΠΎ это ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ Π°Π½Π°Π»ΠΈΠ· ΠΈ ΠΏΠΎΠ΄Π±ΠΈΡ€Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΏΡ€ΠΈ написании своих скриптов, Ρ‚Π΅ΠΌ самым увСличивая ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ врСмя выполнСния любой части скрипта Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ†ΠΈΠΊΠ»Π°, Π²Ρ‹Π²ΠΎΠ΄Π° Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΈ Ρ‚.ΠΏ.

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ с ΡƒΠΌΠΎΠΌ. На этом данная ΡΡ‚Π°Ρ‚ΡŒΡ подошла ΠΊ ΠΊΠΎΠ½Ρ†Ρƒ.

Π–Π΅Π»Π°ΡŽ Π²Π°ΠΌ ΡƒΠ΄Π°Ρ‡ΠΈ ΠΈ успСхов Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ! Пока!

ΠžΡ†Π΅Π½ΠΈΡ‚Π΅ ΡΡ‚Π°Ρ‚ΡŒΡŽ:

Π‘Ρ‚Π°Ρ‚ΡŒΠΈ

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅. ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΌΠΎΠ΄Π΅Ρ€Π°Ρ†ΠΈΡŽ

ВсС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ Π½Π° ΠΌΠΎΠ΄Π΅Ρ€Π°Ρ†ΠΈΡŽ

javascript врСмя выполнСния скрипта. . javascript врСмя выполнСния скрипта Ρ„ΠΎΡ‚ΠΎ. javascript врСмя выполнСния скрипта-. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° javascript врСмя выполнСния скрипта. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° . Π˜Π·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ β€” это Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ способ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ΄Π½Π° рСализация Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° являСтся Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ, Ρ‡Π΅ΠΌ другая. Π­Ρ‚ΠΎ позволяСт ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ пострадала послС Π½Π΅ΠΊΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, внСсённых Π² ΠΊΠΎΠ΄. Π­Ρ‚ΠΎ, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΡƒΠ·ΠΊΠΈΠ΅ мСста ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Π—Π°ΠΏΠΈΡΡŒ экрана

Π”Π°Π½Π½ΠΎΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ позволяСт Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ экран ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π²ΠΈΠ΄Π΅ΠΎ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ webm

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ JS: ΠΎΠ±Π·ΠΎΡ€ Π΄Π²ΠΈΠΆΠΊΠ°, ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния, стСка Π²Ρ‹Π·ΠΎΠ²ΠΎΠ²

ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ JavaScript растёт, Π΅Π³ΠΎ возмоТности ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… уровнях примСняСмых Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ стСков Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΈ Π½Π° мноТСствС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ. На JS Π΄Π΅Π»Π°ΡŽΡ‚ Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄ ΠΈ бэкСнд, ΠΏΠΈΡˆΡƒΡ‚ Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½Ρ‹Π΅ ΠΈ встраиваСмыС прилоТСния, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

Анализ статистики GitHub ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΠΎ показатСлям Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² ΠΈ push-запросов, JavaScript находится Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΌ мСстС, Π΄Π° ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… катСгориях ΠΎΠ½ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ довольно высокиС ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ.

javascript врСмя выполнСния скрипта. image loader. javascript врСмя выполнСния скрипта Ρ„ΠΎΡ‚ΠΎ. javascript врСмя выполнСния скрипта-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° javascript врСмя выполнСния скрипта. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π˜Π·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ β€” это Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ способ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ΄Π½Π° рСализация Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° являСтся Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ, Ρ‡Π΅ΠΌ другая. Π­Ρ‚ΠΎ позволяСт ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ пострадала послС Π½Π΅ΠΊΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, внСсённых Π² ΠΊΠΎΠ΄. Π­Ρ‚ΠΎ, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΡƒΠ·ΠΊΠΈΠ΅ мСста ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
БтатистичСскиС свСдСния ΠΏΠΎ JavaScript с GitHub

Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ систСмой статистичСских свСдСний ΠΏΠΎ GitHub ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ здСсь, ΠΎΠ½Π° ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ сказано Π²Ρ‹ΡˆΠ΅.

Если мноТСство ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΠ»ΠΎΡ‚Π½ΠΎ завязаны Π½Π° JavaScript, Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ эффСктивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ всё, Ρ‡Ρ‚ΠΎ Π΄Π°Ρ‘Ρ‚ ΠΈΠΌ язык ΠΈ Π΅Π³ΠΎ экосистСма, ΡΡ‚Ρ€Π΅ΠΌΡΡΡŒ, Π½Π° ΠΏΡƒΡ‚ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΊ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠΌΡƒ пониманию Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² языка.

Как Π½ΠΈ странно, сущСствуСт мноТСство Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ рСгулярно ΠΏΠΈΡˆΡƒΡ‚ Π½Π° JavaScript, Π½ΠΎ Π½Π΅ Π·Π½Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ происходит Π² Π΅Π³ΠΎ Π½Π΅Π΄Ρ€Π°Ρ…. ΠŸΡ€ΠΈΡˆΠ»ΠΎ врСмя это ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ: этот ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» посвящён ΠΎΠ±Π·ΠΎΡ€Ρƒ JS-Π΄Π²ΠΈΠΆΠΊΠ° Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ V8, ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния, ΠΈ стСка Π²Ρ‹Π·ΠΎΠ²ΠΎΠ².

ΠžΠ±Π·ΠΎΡ€

ΠŸΠΎΡ‡Ρ‚ΠΈ всС ΡΠ»Ρ‹ΡˆΠ°Π»ΠΈ, Π² самых ΠΎΠ±Ρ‰ΠΈΡ… Ρ‡Π΅Ρ€Ρ‚Π°Ρ…, ΠΎ JS-Π΄Π²ΠΈΠΆΠΊΠ΅ V8, ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² извСстно, Ρ‡Ρ‚ΠΎ JavaScript β€” ΠΎΠ΄Π½ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ язык, ΠΈΠ»ΠΈ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π°.

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ, Π½Π° довольно высоком ΡƒΡ€ΠΎΠ²Π½Π΅, ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ JS-ΠΊΠΎΠ΄Π°. Зная ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ, Π½Π° самом Π΄Π΅Π»Π΅, происходит ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ JavaScript, Π²Ρ‹ смоТСтС ΠΏΠΈΡΠ°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ качСствСнныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π±Π΅Π· «подвисаний» ΠΈ Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ΡΡ API.

Если Π²Ρ‹ Π½Π΅Π΄Π°Π²Π½ΠΎ Π½Π°Ρ‡Π°Π»ΠΈ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° JavaScript, этот ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ JS, Π² сравнСнии с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ языками, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ довольно-Ρ‚Π°ΠΊΠΈ странным.

Если Π²Ρ‹ β€” ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΉ JS-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, надССмся, этот ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ Π½Π° самом Π΄Π΅Π»Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎ, Ρ‡Π΅ΠΌ Π²Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ΡΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь.

Π”Π²ΠΈΠΆΠΎΠΊ JavaScript

V8 ΠΎΡ‚ Google β€” это ΡˆΠΈΡ€ΠΎΠΊΠΎ извСстный JS-Π΄Π²ΠΈΠΆΠΎΠΊ. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ Chrome ΠΈ Π² Node.js. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ Π΅Π³ΠΎ, ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠΏΡ€ΠΎΡ‰Ρ‘Π½Π½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ:

javascript врСмя выполнСния скрипта. image loader. javascript врСмя выполнСния скрипта Ρ„ΠΎΡ‚ΠΎ. javascript врСмя выполнСния скрипта-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° javascript врСмя выполнСния скрипта. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π˜Π·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ β€” это Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ способ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ΄Π½Π° рСализация Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° являСтся Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ, Ρ‡Π΅ΠΌ другая. Π­Ρ‚ΠΎ позволяСт ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ пострадала послС Π½Π΅ΠΊΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, внСсённых Π² ΠΊΠΎΠ΄. Π­Ρ‚ΠΎ, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΡƒΠ·ΠΊΠΈΠ΅ мСста ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
Π£ΠΏΡ€ΠΎΡ‰Ρ‘Π½Π½ΠΎΠ΅ прСдставлСниС Π΄Π²ΠΈΠΆΠΊΠ° V8

На нашСй схСмС Π΄Π²ΠΈΠΆΠΎΠΊ прСдставлСн состоящим ΠΈΠ· Π΄Π²ΡƒΡ… основных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²:

ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния

ΠžΡ‚ΠΊΡƒΠ΄Π° ΠΆΠ΅ ΠΎΠ½ΠΈ бСрутся? ΠžΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ выглядит Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ слоТнСС, Ρ‡Π΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ взгляд.

javascript врСмя выполнСния скрипта. image loader. javascript врСмя выполнСния скрипта Ρ„ΠΎΡ‚ΠΎ. javascript врСмя выполнСния скрипта-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° javascript врСмя выполнСния скрипта. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π˜Π·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ β€” это Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ способ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ΄Π½Π° рСализация Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° являСтся Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ, Ρ‡Π΅ΠΌ другая. Π­Ρ‚ΠΎ позволяСт ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ пострадала послС Π½Π΅ΠΊΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, внСсённых Π² ΠΊΠΎΠ΄. Π­Ρ‚ΠΎ, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΡƒΠ·ΠΊΠΈΠ΅ мСста ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
Π”Π²ΠΈΠΆΠΎΠΊ, Ρ†ΠΈΠΊΠ» событий, ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° ΠΈ API, прСдоставляСмыС Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ

Π‘Ρ‚Π΅ΠΊ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ²

JavaScript β€” ΠΎΠ΄Π½ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ язык программирования. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρƒ Π½Π΅Π³ΠΎ ΠΎΠ΄ΠΈΠ½ стСк Π²Ρ‹Π·ΠΎΠ²ΠΎΠ². Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π² Π½Π΅ΠΊΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ лишь ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ ΠΎΠ΄Π½Ρƒ Π·Π°Π΄Π°Ρ‡Ρƒ.

Π‘Ρ‚Π΅ΠΊ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² β€” это структура Π΄Π°Π½Π½Ρ‹Ρ…, которая, говоря ΡƒΠΏΡ€ΠΎΡ‰Ρ‘Π½Π½ΠΎ, записываСт свСдСния ΠΎ мСстС Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, Π³Π΄Π΅ ΠΌΡ‹ находимся. Если ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΌΡ‹ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅ΠΌ запись ΠΎ Π½Π΅ΠΉ Π² Π²Π΅Ρ€Ρ…Π½ΡŽΡŽ Ρ‡Π°ΡΡ‚ΡŒ стСка. Когда ΠΌΡ‹ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ возвращаСмся, ΠΌΡ‹ вытаскиваСм ΠΈΠ· стСка самый Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ элСмСнт ΠΈ оказываСмся Ρ‚Π°ΠΌ, ΠΎΡ‚ΠΊΡƒΠ΄Π° Π²Ρ‹Π·Ρ‹Π²Π°Π»ΠΈ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ. Π­Ρ‚ΠΎ β€” всё, Ρ‡Ρ‚ΠΎ ΡƒΠΌΠ΅Π΅Ρ‚ стСк.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€. ВзглянитС Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

Когда Π΄Π²ΠΈΠΆΠΎΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ этот ΠΊΠΎΠ΄, стСк Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² пуст. ПослС этого происходит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:
javascript врСмя выполнСния скрипта. image loader. javascript врСмя выполнСния скрипта Ρ„ΠΎΡ‚ΠΎ. javascript врСмя выполнСния скрипта-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° javascript врСмя выполнСния скрипта. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π˜Π·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ β€” это Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ способ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ΄Π½Π° рСализация Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° являСтся Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ, Ρ‡Π΅ΠΌ другая. Π­Ρ‚ΠΎ позволяСт ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ пострадала послС Π½Π΅ΠΊΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, внСсённых Π² ΠΊΠΎΠ΄. Π­Ρ‚ΠΎ, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΡƒΠ·ΠΊΠΈΠ΅ мСста ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
Π‘Ρ‚Π΅ΠΊ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Π² Ρ…ΠΎΠ΄Π΅ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

КаТдая запись Π² стСкС Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² называСтся стСковым ΠΊΠ°Π΄Ρ€ΠΎΠΌ.

На ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ΅ Π°Π½Π°Π»ΠΈΠ·Π° стСковых ΠΊΠ°Π΄Ρ€ΠΎΠ² основана информация ΠΎ стСкС Π²Ρ‹Π·ΠΎΠ²ΠΎΠ², трассировка стСка, выдаваСмая ΠΏΡ€ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. Врассировка стСка прСдставляСт собой состояниС стСка Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. ВзглянитС Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

Если Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ это Π² Chrome (прСдполагаСтся, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ находится Π² Ρ„Π°ΠΉΠ»Π΅ foo.js ), ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ свСдСния ΠΎ стСкС:

javascript врСмя выполнСния скрипта. image loader. javascript врСмя выполнСния скрипта Ρ„ΠΎΡ‚ΠΎ. javascript врСмя выполнСния скрипта-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° javascript врСмя выполнСния скрипта. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π˜Π·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ β€” это Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ способ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ΄Π½Π° рСализация Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° являСтся Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ, Ρ‡Π΅ΠΌ другая. Π­Ρ‚ΠΎ позволяСт ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ пострадала послС Π½Π΅ΠΊΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, внСсённых Π² ΠΊΠΎΠ΄. Π­Ρ‚ΠΎ, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΡƒΠ·ΠΊΠΈΠ΅ мСста ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
Врассировка стСка послС возникновСния ошибки

Если Π±ΡƒΠ΄Π΅Ρ‚ достигнут ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ стСка, Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ стСка. ΠŸΡ€ΠΎΠΈΠ·ΠΎΠΉΡ‚ΠΈ Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ довольно просто, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ Π½Π΅ΠΎΠ±Π΄ΡƒΠΌΠ°Π½Π½ΠΎΠΌ использовании рСкурсии. ВзглянитС Π½Π° этот Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π°:

Π’ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΎΠ±ΡŠΡ‘ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ Π²Ρ‹Π·ΠΎΠ²Π°Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ прСвысит Ρ€Π°Π·ΠΌΠ΅Ρ€ стСка Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Ρ€Π΅ΡˆΠΈΡ‚ Π²ΠΌΠ΅ΡˆΠ°Ρ‚ΡŒΡΡ, Π²Ρ‹Π΄Π°Π² ΠΎΡˆΠΈΠ±ΠΊΡƒ:

javascript врСмя выполнСния скрипта. image loader. javascript врСмя выполнСния скрипта Ρ„ΠΎΡ‚ΠΎ. javascript врСмя выполнСния скрипта-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° javascript врСмя выполнСния скрипта. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π˜Π·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ β€” это Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ способ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ΄Π½Π° рСализация Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° являСтся Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ, Ρ‡Π΅ΠΌ другая. Π­Ρ‚ΠΎ позволяСт ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ пострадала послС Π½Π΅ΠΊΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, внСсённых Π² ΠΊΠΎΠ΄. Π­Ρ‚ΠΎ, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΡƒΠ·ΠΊΠΈΠ΅ мСста ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
ΠŸΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ максимального Ρ€Π°Π·ΠΌΠ΅Ρ€Π° стСка Π²Ρ‹Π·ΠΎΠ²ΠΎΠ²

МодСль выполнСния ΠΊΠΎΠ΄Π° Π² ΠΎΠ΄Π½ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ Тизнь Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. Π•ΠΌΡƒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ слоТныС схСмы взаимодСйствия ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ², Π²Ρ€ΠΎΠ΄Π΅ возмоТности Π²Π·Π°ΠΈΠΌΠ½ΠΎΠΉ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹Ρ… окруТСниях.

Однако, ΠΈ Ρƒ исполнСния ΠΊΠΎΠ΄Π° Π² ΠΎΠ΄Π½ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ‚ΠΎΠΆΠ΅ Π΅ΡΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ ограничСния. Учитывая Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρƒ JavaScript имССтся ΠΎΠ΄ΠΈΠ½ стСк Π²Ρ‹Π·ΠΎΠ²ΠΎΠ², ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ происходит, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Β«Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΈΡ‚Β».

ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΈ Ρ†ΠΈΠΊΠ» событий

Π§Ρ‚ΠΎ происходит, ΠΊΠΎΠ³Π΄Π° Π² стСкС Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² имССтся функция, Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ? НапримСр, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½Π°Π΄ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ слоТно ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ изобраТСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ JavaScript Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅.

«А Π² Ρ‡Ρ‘ΠΌ Ρ‚ΡƒΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°?Β», β€” спроситС Π²Ρ‹. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π² стСкС Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² имССтся Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π°ΡΡΡ функция, Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ β€” ΠΎΠ½ оказываСтся Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π° экран, Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠ΄. Он просто останавливаСтся. ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ эффСкты, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, нСсовмСстимы с ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ интСрфСйсами.

Однако, это β€” Π½Π΅ СдинствСнная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. Если Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ тяТёлых Π·Π°Π΄Π°Ρ‡, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π° достаточно Π΄ΠΎΠ»Π³ΠΎΠ΅ врСмя ΠΏΠ΅Ρ€Π΅ΡΡ‚Π°Ρ‚ΡŒ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ воздСйствия. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² Π² ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ситуации Π²Ρ‹Π΄Π°ΡŽΡ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ, ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΎ Ρ‚ΠΎΠΌ, Ρ…ΠΎΡ‡Π΅Ρ‚ Π»ΠΈ ΠΎΠ½ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ сцСнария ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ страницу.

javascript врСмя выполнСния скрипта. 2d2fdc34f532be79890e1a94db9be3fe. javascript врСмя выполнСния скрипта Ρ„ΠΎΡ‚ΠΎ. javascript врСмя выполнСния скрипта-2d2fdc34f532be79890e1a94db9be3fe. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° javascript врСмя выполнСния скрипта. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 2d2fdc34f532be79890e1a94db9be3fe. Π˜Π·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ β€” это Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ способ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ΄Π½Π° рСализация Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° являСтся Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ, Ρ‡Π΅ΠΌ другая. Π­Ρ‚ΠΎ позволяСт ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ пострадала послС Π½Π΅ΠΊΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, внСсённых Π² ΠΊΠΎΠ΄. Π­Ρ‚ΠΎ, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΡƒΠ·ΠΊΠΈΠ΅ мСста ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ страницы

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎ Π½Π΅ понравятся.

Π˜Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ ΠΆΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ тяТёлыС вычислСния, Π½Π΅ блокируя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс ΠΈ Π½Π΅ подвСшивая Π±Ρ€Π°ΡƒΠ·Π΅Ρ€? РСшСниС этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² использовании асинхронных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π°. Π­Ρ‚ΠΎ β€” Ρ‚Π΅ΠΌΠ° для ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€Π°.

Π˜Ρ‚ΠΎΠ³ΠΈ

ΠœΡ‹, Π² ΠΎΠ±Ρ‰ΠΈΡ… Ρ‡Π΅Ρ€Ρ‚Π°Ρ…, рассмотрСли устройство JS-Π΄Π²ΠΈΠΆΠΊΠ°, ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния ΠΈ стСка Π²Ρ‹Π·ΠΎΠ²ΠΎΠ². ПониманиС ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… здСсь ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ позволяСт ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ качСство ΠΊΠΎΠ΄Π°.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΡ‹Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ! Π­Ρ‚ΠΎΡ‚ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» β€” ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π² сСрии Β«How JavaScript WorksΒ» ΠΈΠ· Π±Π»ΠΎΠ³Π° SessionStack. Π£ΠΆΠ΅ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Π²Ρ‚ΠΎΡ€ΠΎΠΉ β€” посвящённый особСнностям V8 ΠΈ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ°ΠΌ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π°. Как ΠΏΠΎ-Π²Π°ΡˆΠ΅ΠΌΡƒ, стоит Π»ΠΈ Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ΡŒ?

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *