A disputa de preferência entre as linguagens de programação está na ordem do dia. Agora, a linguagem de programação Julia afirma ser mais rápida que Python e R. Neste caso, a Julia está respaldada por testes de benchmarks. Então, se você é um cientista de dados e precisa analisar vários arquivos CSV para obter informações sobre, digamos, preços de ações e movimentos de mercado, a linguagem de programação Julia supera os rivais de aprendizado de máquina Python e R.
O aprendizado de máquina impulsionou o Python. Provavelmente, foi isso que a tornou a linguagem de programação mais popular entre os desenvolvedores atualmente, junto com Java e JavaScript. No entanto, a Julia, com raízes no Laboratório de Ciência da Computação e Inteligência Artificial (CSAIL) do MIT, também encontrou um público fiel, principalmente entre cientistas de dados.
Julia não está entre as 10 principais linguagens de programação que os desenvolvedores usam. Ela faz parte das 10 linguagens de programação mais populares na pesquisa deste ano do Stack Overflow. Portanto, está ao lado de outras bem mais famosas como Rust, TypeScript, Python, Kotlin, Go, Dart, C # , Swift, JavaScript e SQL.
Linguagem de programação Julia afirma ser mais rápida que Python e R
Algumas linguagens como Rust não são amplamente usadas pelos desenvolvedores, mas são apreciadas pelos programadores por algumas qualidades específicas. É o caso, por exemplo, de programação de sistemas, em comparação à programação de aplicativos. A Microsoft busca na Rust os recursos de segurança de memória que faltam em C e C ++, amplamente empregados no Windows e em outros projetos da Microsoft.
Julia, por outro lado, foi adotada por alguns programadores por sua velocidade semelhante a C. No entanto, possui um ecossistema de pacotes muito menor que o Python. Uma atualização recente para Julia aprimorou o multiencadeamento dando maior velocidade. E é justamente isso que os desenvolvedores da Julia argumentam que está dando uma vantagem considerável sobre o Python e a linguagem de programação estatística R na tarefa de analisar arquivos CSV para análise de dados.
De acordo com Deepak Suresh, engenheiro de aprendizado de máquina da Julia Computing, os recursos de multithreading oferecem às bibliotecas uma vantagem sobre os dois rivais de aprendizado de máquina, com uma variedade de conjuntos de dados diferentes acessados a partir de arquivos CSV ou arquivos de texto com valores separados por vírgula.
Suresh comparou o fread da linguagem de programação R, o read_csv do Pandas para Python, e o CSV.jl CSV da Julia e garante que esta se destaca das demais. “O CSV.jl de Julia é 1,5 a 5 vezes mais rápido que o Pandas, mesmo em um único núcleo; com o multithreading ativado, é tão ou mais rápido que o read_csv de R”, observa ele.
Ubuntu foi usado nos testes
Os benchmarks foram realizados em uma máquina com o Ubuntu 18.04, alimentada por um processador Intel Xeon Silver 4114, rodando a 2,20GHz. Como Suresh explica, o CSV.jl da Julia é a única ferramenta “totalmente implementada em nível superior, em vez de ser implementada em C e envolvida em R/Python”.
Os benchmarks destinam-se a demonstrar a velocidade de carregamento de dados em Julia. Eles também indicam o desempenho do código Julia durante a análise de dados. Um dos exemplos de benchmark examina os estados dos preços das ações da Apple – aberto, alto, baixo e fechado. Analisa um conjunto de dados de 2,5 GB com 50 milhões de linhas e cinco colunas.
O CSV.jl de thread único é cerca de 1,5 vezes mais rápido do que o R do data.table. Com o CSV.jl multithreading, cerca de 22 vezes mais rápido. O read_csv do Pandas leva 34s para ler, isso é mais lento que R e Julia, Suresh declara.
Outro analisa o desempenho com um conjunto de dados de risco da plataforma de ciência de dados de propriedade do Google, Kaggle, que contém conjunto de dados de tipo misto, com 356.000 linhas e 2.190 colunas.
O Pandas leva 119s para ler neste conjunto de dados. O fread de thread único é cerca de duas vezes mais rápido que o CSV.jl. No entanto, com mais threads, a Julia é tão ou até um pouco mais rápida que R, diz Suresh.