Pure Python vs NumPy vs TensorFlow Performance Comparison

Em 07/05/2018, foi publicado o artigo Pure Python vs NumPy vs TensorFlow Performance Comparison no site Real Python. Segue o resumo e o link para o artigo no site do Real Python.

O Python é uma linguagem que prioriza a legibilidade, dando a possibilidade aos programadores de expressarem conceitos de maneira legível e em menos linhas de código. Essa filosofia torna a linguagem adequada para vários casos de uso: scripts simples para a Web, aplicativos grandes para a Web (como o YouTube), linguagem de script para outras plataformas (como o Blender e o Maya da Autodesk) e aplicativos científicos em diversas áreas, como astronomia, meteorologia, física e ciência de dados.

É tecnicamente possível implementar cálculos escalares e matriciais usando recursos nativos do Python, como as listas. No entanto, o desempenho deixa a desejar quando comparado a linguagens adequadas para computação numérica, como MATLAB ou Fortran, ou mesmo a algumas linguagens de uso geral, como C ou C ++.

Para contornar essa deficiência, surgiram várias bibliotecas que mantêm a legibilidade e a filosofia do Python, enquanto fornecem recursos para executar cálculos numéricos de maneira eficiente. Duas dessas bibliotecas que vale a pena mencionar são a NumPy (uma das bibliotecas pioneiras para levar computação numérica eficiente ao Python) e a TensorFlow (uma biblioteca mais recente, focada mais em algoritmos de aprendizado profundo).

Mas como esses esquemas se comparam? Quanto mais rápido uma aplicação é executada quando implementada com NumPy, em vez de Python puro? E o TensorFlow? O objetivo deste artigo é explorar as diferenças no desempenho obtidas usando essas bibliotecas. Os códigos utilizados no artigo estão disponíveis no Github.

Comentários

Deixe um comentário

XHTML: Você pode usar as tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">