Skip to content

1.7.5vB_Snapshot

Choose a tag to compare

@victios7 victios7 released this 14 Aug 17:52
· 12 commits to main since this release
8ad00b6

Altair 1.7.5vB

🚀 Nueva versión de Altair — optimizaciones importantes

Altair 1.7.5vB introduce una nueva generación de optimizaciones en el compilador y runtime, mejorando considerablemente el rendimiento en varias cargas de trabajo.

⚠️ Aviso: esta versión todavía está en proceso de estabilización. Estamos teniendo algunos problemas de compatibilidad y empaquetado en algunas plataformas. Los solucionaremos próximamente.

📦 Disponibilidad

Actualmente disponible:

  • 🪟 Windows — .exe
  • 🍎 macOS — .pkg
  • 🐧 Linux — próximamente

La versión para Linux está temporalmente retrasada debido a problemas detectados durante el proceso de empaquetado. Estamos trabajando para solucionarlos y esperamos ofrecerla próximamente.

⚠️ Instalación en Windows

Durante la instalación del .exe, puede parecer que el proceso se queda detenido al llegar al paso de eliminación de MinGW64.

En ese momento:

  1. Abre el Administrador de tareas (Ctrl + Shift + Esc).
  2. Busca el proceso Altair Set Up.
  3. Finaliza la tarea.
  4. Altair ya estará instalado y listo para utilizarse.

⚡ Mejoras

Compilador y runtime

  • ⚡ Importantes optimizaciones del código generado.
  • ⚡ Mejor rendimiento en operaciones numéricas.
  • ⚡ Mejor rendimiento en llamadas a funciones.
  • ⚡ Mejoras en operaciones bitwise.
  • ⚡ Mejoras en concatenación de strings.
  • ⚡ Mejoras en operaciones de entrada/salida.
  • 🔢 Conservación de precisión en literales numéricos.
  • 🧠 Mejoras en el frontend y generación del AST.
  • 💾 Runtime extremadamente ligero.
  • ✅ Mantiene la compatibilidad con las cargas existentes del benchmark.

📊 Benchmark

Benchmark realizado sobre Altair 1.7.5vB, con 3 ejecuciones medidas + 1 de calentamiento.

Carga Compilación mediana Ejecución mediana Ejecución p95 RSS pico
numeric_loop 1540.633 ms 2.757 ms 2.974 ms 148 KB
function_calls 1642.815 ms 2.731 ms 3.551 ms 144 KB
recursion_fib 1574.723 ms 4.029 ms 12.1 ms 1636 KB
list_append_index 1544.376 ms 23.008 ms 24.753 ms 15120 KB
bitwise_loop 1501.680 ms 2.628 ms 2.677 ms 156 KB
string_concat 1494.690 ms 2.479 ms 2.482 ms 156 KB
file_io 1368.273 ms 2.478 ms 2.483 ms 144 KB
numeric_literal_precision 1339.361 ms 2.501 ms 2.595 ms 156 KB

Comparación con C y Python

Carga C mediana Python mediana Altair vB
numeric_loop 2.484 ms 48.619 ms 2.757 ms
recursion_fib 2.638 ms 70.075 ms 4.029 ms

En numeric_loop, Altair vB queda aproximadamente 11 % por encima de C en esta medición y es aproximadamente 17,6× más rápido que Python.

🧪 Correctitud

8/8 cargas del benchmark pasan correctamente.

También pasan las pruebas de:

  • hello
  • game_compile_and_run
  • databock
  • persist
  • pointer2

🔬 Escalabilidad del frontend

Pruebas realizadas con --emit-ast:

Sentencias Líneas Mediana RSS pico
10 20 2.510 ms 144 KB
50 60 4.637 ms 4876 KB
100 110 8.982 ms 10100 KB

Todas las pruebas pasan correctamente.

📊 Benchmarks adicionales

Para consultar benchmarks ejecutados con agentes/procesos y benchmarks ejecutados sin agentes/procesos, visita:

https://github.com/victios7/Altair/tree/main/benchmark

Dentro de la carpeta benchmark encontrarás:

  • El archivo .py utilizado para ejecutar los benchmarks.
  • latest2.md y latest2.json con los resultados de los benchmarks con agentes/procesos.
  • latest.md y latest.json con los resultados de los benchmarks sin agentes/procesos.

Los archivos .md permiten consultar los resultados de forma legible, mientras que los .json contienen los datos en formato estructurado para realizar comparativas o análisis adicionales.

🔮 Próximamente

Estamos trabajando actualmente en:

  • 🐧 Soporte para Linux.
  • 🔧 Corrección de problemas de empaquetado.
  • 🛠️ Corrección de problemas de portabilidad.
  • 📦 Mejoras del proceso de instalación.
  • 🧪 Más pruebas antes de declarar la versión completamente estable.

Gracias por probar Altair 1.7.5vB. Esta versión supone un paso importante en el rendimiento del compilador y seguiremos trabajando para llevar estas mejoras a todas las plataformas.