GOLANG_INTERVIEW Telegram 318
🔘 Полезных функций тестирования: параллельные и бенчмарк тесты.

Параллельные тесты
Параллельные тесты в #golang позволяют выполнять несколько тестов одновременно. Это особенно полезно для тестов, связанных с IO поскольку другие тесты могут выполняться во время периодов ожидания, а значит, вы будете меньше времени ждать выполнения вашего набора тестов.

Это также поможет вам убедиться в том, что тесты не используют глобальное состояние, иначе они станут нестабильными.

Для этого достаточно пометить тест как параллельный следующим образом: изображение 1.

Бенчмарк-тесты
Бенчмарк-тесты - это отличный способ измерить и оптимизировать эффективность определенных частей кода.

Например, вот два способа конкатенации строки.

С помощью +: изображение 2.

Использование strings.Builder: изображение 3.

Если мы их запустим код, то получим следующий результат:

BenchmarkStringConcat-12 1000000 1200 ns/op BenchmarkStringBuilder-12 5000000 250 ns/op

Это означает, что тест выполнялся за 1000000 и 5000000 итераций, при этом stringConcat затрачивалось 1200 наносекунд на операцию, а strings.Builder - 250. Таким образом, strings.Builder гораздо эффективнее.

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👍151🔥1😁1



tgoop.com/golang_interview/318
Create:
Last Update:

🔘 Полезных функций тестирования: параллельные и бенчмарк тесты.

Параллельные тесты
Параллельные тесты в #golang позволяют выполнять несколько тестов одновременно. Это особенно полезно для тестов, связанных с IO поскольку другие тесты могут выполняться во время периодов ожидания, а значит, вы будете меньше времени ждать выполнения вашего набора тестов.

Это также поможет вам убедиться в том, что тесты не используют глобальное состояние, иначе они станут нестабильными.

Для этого достаточно пометить тест как параллельный следующим образом: изображение 1.

Бенчмарк-тесты
Бенчмарк-тесты - это отличный способ измерить и оптимизировать эффективность определенных частей кода.

Например, вот два способа конкатенации строки.

С помощью +: изображение 2.

Использование strings.Builder: изображение 3.

Если мы их запустим код, то получим следующий результат:

BenchmarkStringConcat-12 1000000 1200 ns/op BenchmarkStringBuilder-12 5000000 250 ns/op

Это означает, что тест выполнялся за 1000000 и 5000000 итераций, при этом stringConcat затрачивалось 1200 наносекунд на операцию, а strings.Builder - 250. Таким образом, strings.Builder гораздо эффективнее.

@golang_interview

BY Golang вопросы собеседований






Share with your friend now:
tgoop.com/golang_interview/318

View MORE
Open in Telegram


Telegram News

Date: |

"Doxxing content is forbidden on Telegram and our moderators routinely remove such content from around the world," said a spokesman for the messaging app, Remi Vaughn. To edit your name or bio, click the Menu icon and select “Manage Channel.” It’s easy to create a Telegram channel via desktop app or mobile app (for Android and iOS): Healing through screaming therapy Read now
from us


Telegram Golang вопросы собеседований
FROM American