Векторизація обчислень для оптимізації коду на мові програмування Python
Мета. Метою цього дослідження є вивчення векторизації як інженерної техніки для покращення продуктивності та читабельності коду Python, зокрема в задачах обробки даних. Ми прагнемо продемонструвати переваги векторизації на практичних прикладах, пов'язаних з обробкою відсутніх даних. Дизайн / М...
Saved in:
Main Authors: | , |
---|---|
Format: | Article |
Language: | English |
Published: |
Oles Honchar Dnipro National University
2024-11-01
|
Series: | Challenges and Issues of Modern Science |
Subjects: | |
Online Access: | https://cims.fti.dp.ua/j/article/view/215 |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
_version_ | 1823858953429188608 |
---|---|
author | Олексій Земляний Олег Байбуз |
author_facet | Олексій Земляний Олег Байбуз |
author_sort | Олексій Земляний |
collection | DOAJ |
description |
Мета. Метою цього дослідження є вивчення векторизації як інженерної техніки для покращення продуктивності та читабельності коду Python, зокрема в задачах обробки даних. Ми прагнемо продемонструвати переваги векторизації на практичних прикладах, пов'язаних з обробкою відсутніх даних. Дизайн / Метод / Підхід. Для досягнення цілей дослідження ми провели порівняльний аналіз між реалізаціями з використанням циклів та з векторизацією. Зокрема, було розроблено дві версії функції для виявлення стовпців, що містять задану кількість відсутніх значень в наборі даних. Ці реалізації були протестовані на двох реальних наборах даних. Порівнювався час виконання та читабельність коду. Результати. Результати показали, що векторизація призвела до значного покращення продуктивності, зменшивши час виконання в сотні разів порівняно з традиційними методами, заснованими на циклах. Крім того, векторизований код є більш компактним, що призводить до кращої читабельності та простоти підтримки. Теоретичне значення. Векторизація забезпечує вищий рівень абстракції для виконання операцій над структурами даних. Це дозволяє розробникам зосередитися на алгоритмічній логіці, а не на керуванні ітераційними структурами, що сприяє більш широкому розгляду питань оптимізації обчислювальної ефективності в Python. Практичне значення. Для інженерів з обробки даних та аналітиків векторизація є високоефективним рішенням для оптимізації коду на Python. Вона значно прискорює виконання завдань, що вимагають великих обсягів даних, таких як імпутування відсутніх даних, аналіз даних і машинне навчання, що робить її важливим інструментом для підвищення продуктивності в середовищах, керованих даними. Оригінальність / Цінність. Це дослідження представляє практичний підхід до оптимізації коду Python за допомогою векторизації. Воно є цінним для професіоналів, які прагнуть підвищити ефективність своїх робочих процесів. Обмеження дослідження / Майбутні дослідження. Обмеження цього дослідження полягає в тому, що воно зосереджене на одному підході - векторизації. Майбутні дослідження повинні дослідити використання векторизації разом з компіляцією Just-In-Time (JIT) за допомогою таких інструментів, як Numba, для подальшого підвищення продуктивності Python. Тип статті. Практична стаття.
PURL: https://purl.org/cims/2403.017
|
format | Article |
id | doaj-art-f80405d1078140fa99a3875a4ffc7714 |
institution | Kabale University |
issn | 3083-5704 |
language | English |
publishDate | 2024-11-01 |
publisher | Oles Honchar Dnipro National University |
record_format | Article |
series | Challenges and Issues of Modern Science |
spelling | doaj-art-f80405d1078140fa99a3875a4ffc77142025-02-11T09:48:09ZengOles Honchar Dnipro National UniversityChallenges and Issues of Modern Science3083-57042024-11-013Векторизація обчислень для оптимізації коду на мові програмування PythonОлексій Земляний0https://orcid.org/0009-0001-6157-8725Олег Байбуз1https://orcid.org/0000-0001-7489-6952Дніпровський національний університет імені Олеся ГончараДніпровський національний університет імені Олеся Гончара Мета. Метою цього дослідження є вивчення векторизації як інженерної техніки для покращення продуктивності та читабельності коду Python, зокрема в задачах обробки даних. Ми прагнемо продемонструвати переваги векторизації на практичних прикладах, пов'язаних з обробкою відсутніх даних. Дизайн / Метод / Підхід. Для досягнення цілей дослідження ми провели порівняльний аналіз між реалізаціями з використанням циклів та з векторизацією. Зокрема, було розроблено дві версії функції для виявлення стовпців, що містять задану кількість відсутніх значень в наборі даних. Ці реалізації були протестовані на двох реальних наборах даних. Порівнювався час виконання та читабельність коду. Результати. Результати показали, що векторизація призвела до значного покращення продуктивності, зменшивши час виконання в сотні разів порівняно з традиційними методами, заснованими на циклах. Крім того, векторизований код є більш компактним, що призводить до кращої читабельності та простоти підтримки. Теоретичне значення. Векторизація забезпечує вищий рівень абстракції для виконання операцій над структурами даних. Це дозволяє розробникам зосередитися на алгоритмічній логіці, а не на керуванні ітераційними структурами, що сприяє більш широкому розгляду питань оптимізації обчислювальної ефективності в Python. Практичне значення. Для інженерів з обробки даних та аналітиків векторизація є високоефективним рішенням для оптимізації коду на Python. Вона значно прискорює виконання завдань, що вимагають великих обсягів даних, таких як імпутування відсутніх даних, аналіз даних і машинне навчання, що робить її важливим інструментом для підвищення продуктивності в середовищах, керованих даними. Оригінальність / Цінність. Це дослідження представляє практичний підхід до оптимізації коду Python за допомогою векторизації. Воно є цінним для професіоналів, які прагнуть підвищити ефективність своїх робочих процесів. Обмеження дослідження / Майбутні дослідження. Обмеження цього дослідження полягає в тому, що воно зосереджене на одному підході - векторизації. Майбутні дослідження повинні дослідити використання векторизації разом з компіляцією Just-In-Time (JIT) за допомогою таких інструментів, як Numba, для подальшого підвищення продуктивності Python. Тип статті. Практична стаття. PURL: https://purl.org/cims/2403.017 https://cims.fti.dp.ua/j/article/view/215векторизаціяPython оптимізаціяобробка данихпівищення продуктивностічитабельність кодурозробка програмного забезпечення |
spellingShingle | Олексій Земляний Олег Байбуз Векторизація обчислень для оптимізації коду на мові програмування Python Challenges and Issues of Modern Science векторизація Python оптимізація обробка даних півищення продуктивності читабельність коду розробка програмного забезпечення |
title | Векторизація обчислень для оптимізації коду на мові програмування Python |
title_full | Векторизація обчислень для оптимізації коду на мові програмування Python |
title_fullStr | Векторизація обчислень для оптимізації коду на мові програмування Python |
title_full_unstemmed | Векторизація обчислень для оптимізації коду на мові програмування Python |
title_short | Векторизація обчислень для оптимізації коду на мові програмування Python |
title_sort | векторизація обчислень для оптимізації коду на мові програмування python |
topic | векторизація Python оптимізація обробка даних півищення продуктивності читабельність коду розробка програмного забезпечення |
url | https://cims.fti.dp.ua/j/article/view/215 |
work_keys_str_mv | AT oleksíjzemlânij vektorizacíâobčislenʹdlâoptimízacííkodunamovíprogramuvannâpython AT olegbajbuz vektorizacíâobčislenʹdlâoptimízacííkodunamovíprogramuvannâpython |