Измерение производительности системы с помощью программного обеспечения

Измерение производительности системы с помощью программного обеспечения

Разрабатывая программы, мы работаем над абстракцией системы. Оборудование может не знать о ваших функциях, переменных и данных. Оно может видеть только биты и инструкции. И все же, чтобы писать эффективные программы, программист должен знать характеристики базовой системы. К счастью, мы можем использовать и само программное обеспечение, чтобы наблюдать за поведением системы с помощью экспериментов....

июня 11, 2024 · 33 минуты · German Gorelkin
Надежные дженерик функции для слайсов

Надежные дженерик функции для слайсов

Пакет slices предоставляет функции, которые работают со слайсами любого типа. В этой статье мы обсудим, как можно использовать эти функции более эффективно, понимая, как слайсы представлены в памяти и как это влияет на сборщик мусора, а также расскажем, как мы недавно скорректировали эти функции, чтобы сделать их более предсказуемыми....

марта 25, 2024 · 5 минут · German Gorelkin
Algebraic Data Types

Алгебраические Типы Данных

Сделаем из простых типов другие, составные и более сложные. Это и будут алгебраические типы данных....

июля 27, 2022 · 4 минуты · German Gorelkin
go-patterns-circuit-breaker

Go Patterns. Circuit Breaker

Circuit Breaker предотвращает попытки приложения выполнить операцию, которая скорее всего завершится неудачно, что позволяет продолжить работу дальше не тратя важные ресурсы, пока известно, что проблема не устранена....

июля 14, 2020 · 7 минут · German Gorelkin
go-patterns-retry

Go Patterns. Retry

Любое взаимодействие программных компонентов ненадежно. Вызываемый компонент может быть временно недоступен или возвращать различные ошибки....

мая 20, 2020 · 6 минут · German Gorelkin
fitness-functions

Fitness Functions

Чем раньше будет обнаружена проблема, тем меньше усилий потребуется для ее разрешения...

мая 14, 2020 · 5 минут · German Gorelkin
goroutine-leaks

Goroutine Leaks

Рассмотрим несколько примером Goroutine Leaks...

апреля 23, 2020 · 3 минуты · German Gorelkin
data-protected-by-confinement

Безопасная Работа с Каналами в Go

При работе с параллельным кодом существует несколько различных вариантов безопасной работы...

апреля 2, 2020 · 4 минуты · German Gorelkin
synchronization-primitives-go

Примитивы Синхронизации в Go

Пакет sync содержит примитивы, которые наиболее полезны для низкоуровневой синхронизации доступа к памяти....

февраля 9, 2020 · 5 минут · German Gorelkin
deadlocks-livelocks-starvation

Deadlocks, Livelocks и Starvation

В 1965 году Эдсгер Дейкстра сформулировал задачу об обедающих философах. Задача была иллюстрацией проблем синхронизации при разработке параллельных алгоритмов и техник решения этих проблем....

января 17, 2020 · 6 минут · German Gorelkin