Performance evaluation of python libraries for multithreading data processing

Вантажиться...
Ескіз

Дата

2024

DOI

doi.org/10.20998/2522-9052.2024.1.05

Науковий ступінь

Рівень дисертації

Шифр та назва спеціальності

Рада захисту

Установа захисту

Науковий керівник

Члени комітету

Видавець

Національний технічний університет "Харківський політехнічний інститут"

Анотація

Topicality. The rapid growth of data in various domains has necessitated the development of efficient tools and libraries for data processing and analysis. Python, a popular programming language for data analysis, offers several libraries, such as NumPy and Numba, for numerical computations. However, there is a lack of comprehensive studies comparing the performance of these libraries across different tasks and data sizes. The aim of the study. This study aims to fill this gap by comparing the performance of Python, NumPy, Numba, and Numba.Cuda across different tasks and data sizes. Additionally, it evaluates the impact of multithreading and GPU utilization on computation speed. Research results. The results indicate that Numba and Numba.Cuda significantly optimizes the performance of Python applications, especially for functions involving loops and array operations. Moreover, GPU and multithreading in Python further enhance computation speed, although with certain limitations and considerations. Conclusion. This study contributes to the field by providing valuable insights into the performance of different Python libraries and the effectiveness of GPU and multithreading in Python, thereby aiding researchers and practitioners in selecting the most suitable tools for their computational needs.
Актуальність. Швидке зростання даних у різних доменах потребує розробки ефективних інструментів та бібліотек для обробки та аналізу даних. Python, популярна мова програмування для аналізу даних, пропонує кілька бібліотек, таких як NumPy та Numba, для чисельних обчислень. Однак, існує нестача всебічних досліджень, які порівнюють продуктивність цих бібліотек у різних задачах та з різними розмірами даних. Мета дослідження. Це дослідження має на меті заповнити цей пробіл, порівнюючи продуктивність Python, NumPy, Numba та Numba.Cuda в різних задачах та з різними розмірами даних. Крім того, воно оцінює вплив багатопотоковості та використання GPU на швидкість обчислень. Результати дослідження. Результати вказують, що Numba та Numba.Cuda значно оптимізують продуктивність додатків Python, особливо для функцій, що включають цикли та операції з масивами. Більше того, використання GPU та багатопотоковості в Python додатково підвищує швидкість обчислень, хоча і з певними обмеженнями та міркуваннями. Висновок. Це дослідження вносить вклад у галузь, надаючи цінні висновки щодо продуктивності різних бібліотек Python та ефективності використання GPU та багатопотоковості в Python, тим самим допомагаючи дослідникам та практикам у виборі найбільш підходящих інструментів для їхніх обчислювальних потреб.

Опис

Ключові слова

machine learning, Python, GPU, multithreading, numerical computations optimization, машинне навчання, багатопотоковість, оптимізація чисельних обчислень

Бібліографічний опис

Performance evaluation of python libraries for multithreading data processing / S. Krivtsov [et al.] // Сучасні інформаційні системи = Advanced Information Systems. – 2024. – Т. 8, № 1. – С. 37-47.