12 puntos por xguru 2021-10-14 | 5 comentarios | Compartir por WhatsApp
<p>- Se probó el método POST con el flujo API-Gateway → AWS Lambda → DynamoDB <br /> - Se probaron por separado memorias de 128/256/512/1024/10240MB<br /> - Cold Start <br /> → En general, Rust fue el más rápido. Solo en 128Mb Python quedó en primer lugar<br /> → Excepto Java y .NET, la mayoría fueron rápidos <br /> → Java ni siquiera puede iniciar con 128Mb, pero con GraalVM sí es posible <br /> - Warm Start <br /> → Golang y Rust fueron los ganadores<br /> → .Net también muestra un rendimiento casi igual al de Go/Rust, pero solo después de 1k ejecuciones repetidas (tras el JIT)<br /> → GraalVM también muestra un rendimiento estable similar al de .Net, y es un poco más lento que Rust/Go. No funciona bien con la configuración mínima<br /> → Java queda justo detrás de GraalVM. Java también, como .Net, solo muestra rendimiento después de 1~3k repeticiones<br /> → Python muestra un rendimiento bueno y estable, pero en 128MB es demasiado lento <br /> → Ruby muestra un rendimiento similar al de Python, pero después de unos 20 minutos (15k repeticiones) aumenta un poco la duración (duration) <br /> → Node.js es el runtime más lento. También tiene la mayor duración<br /> <br /> - Considerando Cold + Warm, Golang y Rust son los ganadores. Siempre muestran resultados rápidos y estables <br /> <br /> - Runtimes comparados: NodeJs(14.x), Python(3.9), Go(1.x), Ruby(2.7), .Net(3.1), Java (11), Rust(1.54.0), GraalVM(21.2)<br /> </p>

5 comentarios

 
ehlegeth 2021-10-14
<p>Lo vi por encima, pero...<br /> La idea de Rust, Golang ~~ Python y Ruby no parece muy distinta de lo que normalmente se esperaría...<br /> <br /> Sí me resulta un poco inesperado que Java sea lento incluso sin el costo de levantar la VM y aun con JIT aplicado.<br /> También pensaba que Node.js sería rápido después del JIT, pero salió un resultado lento.<br /> <br /> ¿Será porque la arquitectura en la que corre Lambda o la pila de virtualización son distintas...?</p>
 
ehlegeth 2021-10-14
<p>Supongo que tampoco hace falta tomarse los resultados demasiado en serio, porque hay demasiados factores que pueden afectar una prueba de rendimiento... jajaja</p>
 
eajrezz 2021-10-14
<p>¿No será que Go es el ganador? jaja</p>
 
ehlegeth 2021-10-14
<p>Sí, parece que ese es el resultado. <br /> No he probado usar golang en un entorno de nube, pero me da la impresión de que encaja perfectamente con ese tipo de entorno.</p>
 
codufdl 2021-10-14
<p>Rust es demasiado atractivo. Había comprado el libro y no lo había leído, pero por curiosidad se me encendieron muchísimo las ganas jaja.</p>