ВЛИЯНИЕ ОПТИМИЗАЦИЙ НА ПРОГРАММЫ НА GO

ВЛИЯНИЕ ОПТИМИЗАЦИЙ НА ПРОГРАММЫ НА GO

Авторы публикации

Рубрика

IT-Технологии

Просмотры

2

Журнал

Журнал «Научный лидер» выпуск # 25 (278), Июнь ‘26

Поделиться

Аннотация. В данной статье рассматривается изменения кода после оптимизации, представленной в библиотеке языка Go. Основное внимание уделяется сравнению производительности кода до и после внедрения оптимизации, что позволяет на примере увидеть разницу между последовательным кодом и кодом c горутинами

Golang – это язык программирования, разработанный в Google командой Роберта Гриземера, Роба Пайка и Кена Томпсона, выделяющийся лаконичным синтаксисом и простой изучения. При этом данный язык программирования обеспечивает высокую производительность за счет компиляции, строгой типизации, встроенной поддержке параллелизма и сборке мусора. 

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

Горутины- это легковесные потоки, управляемые средой выполнения Go. Для создания горутины необходимо использовать ключевое слово (“go”) перед вызовом функции (“go funcName()”).  Правильное использование горутин позволяет горутинам безопасно взаимодействовать и устраняет условия гонки. Когда горутина запускается, используется то же адресное пространство, что и другие горутины, что упрощает их взаимодействие.

Каналы – это типизированный поток, использующийся для основной способ обмена данными между горутинами. Канал создается с помощью ключевого слова (“chan”). Для отправки и получения данных через канал используется оператор стрелки (“<-“).

Для того чтобы оценить эффективность оптимизации на Go, нужно провести необходимые тесты.

Для примера будет использован код, выполняющий функцию суммирования числа 1 от N.

Изображение 1. Последовательный код 

 

 

Изображение 2. Код с использованием горутин и каналов

Таблица 1. Сравнение последовательного кода и кода с использованием горутин

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

 

 

 

 

 

Список используемой литературы

  1. Оптимизация производительности 

https://appmaster.io/ru/blog/optimizatsiia-proizvoditel-nosti-golang

  1. Goroutines https://appmaster.io/ru/blog/goroutines-ru
  2. Гольцман А.А Оптимизация проектов на Go

https://purpleschool.ru/knowledge-base/article/project-optimization

  1. Denver 83 Горутины: что это и как работают https://proglib.io/p/gorutiny-chto-takoe-i-kak-rabotayut-2022-07-31
  2.  

Список литературы

  1. Ляхов Илья Александрович, студент
  2. (e-mail: nobaninvoker@gmail.com)
  3. Финансовый университет при Правительстве РФ
  4. г. Краснодар, Россия
  5. ВЛИЯНИЕ ОПТИМИЗАЦИЙ НА ПРОГРАММЫ НА GO
  6. Аннотация. В данной статье рассматривается изменения кода после оптимизации, представленной в библиотеке языка Go. Основное внимание уделяется сравнению производительности кода до и после внедрения оптимизации, что позволяет на примере увидеть разницу между последовательным кодом и кодом c горутинами
  7. Ключевые слова: оптимизация, Go, многозадачность, горутины, синхронизация, каналы, алгоритмы, производительность, эффективность, масштабируемость, гибкость, тестирование, производительность системы, улучшение, программирование
  8. Golang – это язык программирования, разработанный в Google командой Роберта Гриземера, Роба Пайка и Кена Томпсона, выделяющийся лаконичным синтаксисом и простой изучения. При этом данный язык программирования обеспечивает высокую производительность за счет компиляции, строгой типизации, встроенной поддержке параллелизма и сборке мусора.
  9. По мимо вышеперечисленного, в Go представлен ряд полезных возможностей для оптимизации. Ключевой особенностью является встроенная поддержка параллелизма посредством легковесных потоков- горутин, с помощью которых можно эффективно использовать ресурсы многоядерных процессоров. Горутины используются при процессе параллельности, который позволяет выполнять несколько задач одновременно.
  10. Горутины- это легковесные потоки, управляемые средой выполнения Go. Для создания горутины необходимо использовать ключевое слово (“go”) перед вызовом функции (“go funcName()”). Правильное использование горутин позволяет горутинам безопасно взаимодействовать и устраняет условия гонки. Когда горутина запускается, используется то же адресное пространство, что и другие горутины, что упрощает их взаимодействие.
  11. Каналы – это типизированный поток, использующийся для основной способ обмена данными между горутинами. Канал создается с помощью ключевого слова (“chan”). Для отправки и получения данных через канал используется оператор стрелки (“<-“).
  12. Для того чтобы оценить эффективность оптимизации на Go, нужно провести необходимые тесты.
  13. Для примера будет использован код, выполняющий функцию суммирования числа 1 от N.
  14. Изображение 1. Последовательный код
  15. Изображение 2. Код с использованием горутин и каналов
  16. Таблица 1. Сравнение последовательного кода и кода с использованием горутин
  17. В ходе исследования было выявлено, что применение оптимизации значительно влияет на код. Код, содержащий в себе оптимизацию имеет повышенную гибкость, улучшенную производительность и улучшенную гибкость.
  18. Список используемой литературы
  19. Оптимизация производительности
  20. Goroutines
  21. Гольцман А.А Оптимизация проектов на Go
  22. Denver 83 Горутины: что это и как работают
Справка о публикации и препринт статьи
предоставляется сразу после оплаты
Прием материалов
c по
Осталось 4 дня до окончания
Размещение электронной версии
Загрузка материалов в elibrary
Публикация за 24 часа
Узнать подробнее
Акция
Cкидка 20% на размещение статьи, начиная со второй
Бонусная программа
Узнать подробнее