Executando verificação de segurança...
1

Explorando CPU, DOD e SIMD no Android

Recentemente descobri sobre Data-Oriented Design (DOD) e, enquanto estudava, esbarrei em outro assunto que se encaixava muito bem: SIMD. Para praticar o que estava aprendendo, decidi construir um pequeno simulador de partículas com gravidade chamado ParticleSIM(D).

O objetivo do projeto não é física realista nem gráficos avançados. Ele funciona como um laboratório para experimentar e aprender, entendendo como decisões de layout de dados, escolha de instruções e paralelismo podem impactar o desempenho real em CPUs ARM64 de celulares Android.

Algumas tentativas de otimização, que pareciam eficientes na teoria, se mostraram ineficazes ou até prejudiciais à performance.

Esse projeto tem sido uma ótima oportunidade de estudo, onde cada desafio me força a aprender mais sobre arquitetura e técnicas de otimização. Estou planejando implementar multi-threading para melhorar ainda mais a performance, mas no momento estou explorando profundamente o assunto para chegar a uma implementação eficiente.

Se tiverem interesse em analisar o código, ele está disponível no GitHub: ParticleSIMD Como programo apenas pelo celular, usei Xmake como sistema de build para facilitar. O projeto inclui um backend que roda sobre Termux:GUI e a opção de compilar diretamente para APK usando NDK, que é mais rápido do que usar Gradle.

Aceito sugestões de quem já trabalhou com DOD, SIMD ou otimização de CPU em Android — todo feedback é bem-vindo!

Carregando publicação patrocinada...
-1

Cara, eu tenho bastante experiência em programar no android.

Eu já lancei uma meia dúzia de apps que programei basicamente na telinha e já escrevi uns tutoriais, fiz uns sites, programei uma rede neural...
Eu inclusive tenho uns textos publicados sobre esse tema. Uns tutoriais.

O termux é incrível. Nele eu já brinquei com nodeJs, com php-mysql, com o gcc, com gradle, com android sdk (cli tools). Eu usava o vim no termux.

1

Interessante, valeu por compartilhar. Ainda estou explorando essas ferramentas e experimentando com performance e low-level no Android. Qualquer dica sobre desenvolvimento direto no celular ou otimização é bem-vinda.