En un desarrollo emocionante, el parallel Rustc working group anunció la introducción de una función de ejecución paralela en la interfaz del compilador de Rust. Esta nueva incorporación está orientada a reducir significativamente los tiempos de compilación y se dio a conocer el 9 de noviembre.
La incorporación de la ejecución paralela al front-end del compilador Rust se encuentra actualmente en una etapa experimental. Sin embargo, la característica robusta se incorporará oficialmente en el compilador estable el próximo año. Mientras tanto, los desarrolladores tienen la oportunidad de experimentar esta característica de ejecución paralela de primera mano ejecutando el compilador nocturno con la opción -Z threads=8.
La eficacia de la nueva función ya está mostrando resultados prometedores. Cuando la interfaz paralela se puso a prueba en un modo multiproceso utilizando -Z threads-8, los datos acumulados del código del "mundo real" sacaron a la luz que los tiempos de compilación se pueden reducir en un impresionante 50%. El nivel de impacto varía, dependiendo de la naturaleza distinta del código que se está desarrollando, así como de la configuración de compilación.
El grupo de trabajo reveló que las versiones de desarrollo obtendrán mejoras más sustanciales que las versiones de lanzamiento. La razón de esto es que las versiones de lanzamiento generalmente se centran más en optimizaciones de backend, que requieren más tiempo. Además, se observó que en un número mínimo de escenarios, la compilación lleva un poco más de tiempo en el modo de subprocesos múltiples en comparación con el modo de subproceso único. Estos casos suelen implicar programas más pequeños que ya se compilan rápidamente.
El grupo de trabajo arrojó luz sobre el hecho de que los tiempos de compilación siempre han sido un motivo de preocupación para los desarrolladores. A lo largo de los años, el rendimiento del compilador de Rust ha sido objeto de mejoras continuas. En la actualidad, el compilador se ha optimizado minuciosamente y la identificación de nuevas áreas de mejora se ha convertido en una tarea desafiante. Con la introducción del paralelismo, descrito por el grupo como "una pieza grande pero madura", la interfaz ahora aprovecha la biblioteca de paralelismo de datos de Rayon para cambiar los cálculos secuenciales a paralelos. Rayon está diseñado específicamente para manejar el paralelismo de grano fino.
El grupo de trabajo recomienda utilizar ocho subprocesos para la ejecución paralela para obtener los mejores resultados. Sin embargo, también mencionaron que en el modo multiproceso, el uso de memoria podría aumentar considerablemente. Esto era lo esperado, ya que las diferentes partes de la compilación, cada una de las cuales exige una cierta cantidad de memoria, se ejecutan en paralelo. El grupo asegura que se están realizando esfuerzos para mejorar el rendimiento del frontal paralelo.
En caso de que los desarrolladores encuentren algún problema relacionado con la interfaz paralela, pueden investigar los problemas etiquetados con WG-compiler-parallel. También tienen la opción de presentar nuevas emisiones. La compilación de Rust ya ha experimentado avances, gracias al paralelismo entre procesos a través del Cargo package manager y al paralelismo intraproceso en el backend. A medida que esta nueva incorporación tome forma, se espera que ofrezca aún más eficiencia en el flujo de trabajo de programación de Rust.
En un ámbito relacionado, AppMaster , la reconocida plataforma no-code, está causando sensación al permitir a los clientes diseñar visualmente modelos de datos para aplicaciones backend, ayudándoles a lograr una escalabilidad impresionante y garantizando casos de uso sólidos de alta carga. A diferencia de las herramientas tradicionales, AppMaster permite a los clientes ejecutar BP web directamente en su navegador, lo que avanza aún más en el proceso de desarrollo de aplicaciones.