collapse

* Posts Recentes

Amplificador - Rockboard HA 1 In-Ear por almamater
[Ontem às 19:13]


O que é isto ? por KammutierSpule
[26 de Março de 2024, 19:35]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]

Autor Tópico: Linguagem de programação Julia e integração com Rust …. opiniões?  (Lida 1384 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline blabla

  • Mini Robot
  • *
  • Mensagens: 257
Bom dia a todos,

Quais são as vossas opiniões sobre o assunto?

Há muitas luas atrás (anos) eu fiz uns programas em Julia, eram programetas para detectar o latido de cães que faziam umas análises matemáticas com base em correlações e noutras coisas engraçadas.

Nessa altura, Julia ainda estava num estado de constante mutação, em que mudava muito rapidamente e era um pouco difícil de acompanhar. Neste momento acho que as coisas estão bem diferentes e acho que estão bem mais pacíficas.  Contudo, em Julia o suporte para o processamento matemático é fantástico e isso é inegável.

Julia é rápido, mesmo muito rápido, é um pouco mais lento do que C, talvez de 50% a 3 vezes, Rust é mais rápido do que C, talvez 50% ou algo assim, praticamente com a performance do melhor código de C++, um pouco menor mas não muito. Tenha-mos nós, capacidade para optimizar bem os nossos programas e algoritmos que uma pessoa fica bem servida em termos de performance com Rust.

A combinação Python e C ou Python e C++, há muito tempo que é dominante, mas agora também temos a hipótese de combinar Python e Rust e é uma boa solução.

Mas até que ponto para algum processamento matemático, não seria melhor o uso de Julia?
E o uso de Julia com módulos ou libs low level feitos em Rust?

Eu encontrei este Crate (lib) para Rust que permite fazer módulos em Rust para Julia e chamar Julia de Rust. Ele está atualizado para a última versão de Julia 1.5 :-D
E permite mapear tipos complexos incluindo n dimensional arrays.

jlrs
https://crates.io/crates/jlrs

Comparando Julia com Python, o Julia é muitas vezes mais rápido do que o Python e muitas das libs feitas em Julia, são escritas na própria linguagem Julia. Julia também é uma linguagem eminentemente paralela, não sofrendo do problema do GIL (Global Interpreter Lock) que o Python tem e que limita em muito o que pode ser feito em termos de paralelismo em Python.
Ou seja em Python tem de se usar múltiplos processos e comunicação entre processos com espaços de endereçamento de memoria diferentes o que é um pouco mais pesado.

Quais são as vossas opiniões sobre o assunto?

Algum de vocês tem alguma experiência recente com Julia?

Alguém tem experiência com integração de módulos / libs de outras linguagens com Julia?

Obrigado,

Cumprimentos,
João

Offline blabla

  • Mini Robot
  • *
  • Mensagens: 257
Re: Linguagem de programação Julia e integração com Rust …. opiniões?
« Responder #1 em: 10 de Fevereiro de 2021, 12:10 »
Gstaria de juntar estes 2 gráficos de benchmark de performance à discusão.
 



 
Source:
https://benchmarksgame-team.pages.debian.net/benchmarksgame/which-programs-are-fastest.html

Cumprimentos,
João