Benchmark da linguagem Bend em comparativo com Python e OpenMP
Resumo
Este artigo apresenta uma análise comparativa do desempenho da linguagem de programação Bend em relação ao Python (utilizando multiprocessing) e C (utilizando OpenMP) no contexto de uma Simulação de N-Body, um problema clássico de física computacional. O estudo explora as capacidades da linguagem Bend, que se destaca por abstrair a complexidade do paralelismo, facilitando a escrita de código paralelo sem a necessidade de controle explícito pelo programador. A implementação foi comparada quanto ao tempo de execução, uso de CPU e memória. Os resultados evidenciam o potencial do Bend em proporcionar uma programação paralela eficiente, mesmo em cenários computacionalmente intensivos.
Referências
Harris, C. R., Millman, K. J., van der Walt, S. J., et al. (2020). Array programming with numpy. Nature, 585:357–362. Acesso em: Agosto 2024.
HigherOrderCompany (2023). Bend: A high-level, massively parallel programming language. [link]. Acesso em: Julho 2024.
Lafont, Y. (1989). Interaction nets. In POPL ’90. Acesso em: Julho 2024.
Lafont, Y. (1997). Interaction combinators. Information and Computation, 137(1):69–101.
Pereira, R., Couto, M., Ribeiro, F., Rua, R., Cunha, J., Fernandes, J. a. P., and Saraiva, J. a. (2017). Energy efficiency across programming languages: how do energy, time, and memory relate? In Proceedings of the 10th ACM SIGPLAN International Conference on Software Language Engineering, SLE 2017, page 256–267, New York, NY, USA. Association for Computing Machinery.
Sebesta, R. W. (2018). Conceitos de Linguagens de Programação-11. Bookman Editora.
Silva, G., Bianchini, C., and Costa, E. B. (2022). Programação Paralela e Distribuída. Ed. Casa do Código. [link].
Sutter, H. (2005). The free lunch is over: A fundamental turn toward concurrency in software. [link]. Acesso em: Julho 2024.
Taelin, V. (2024). Hvm2: A parallel evaluator for interaction combinator. [link]. Acesso em: Julho 2024.