Entradas

Mostrando entradas de agosto, 2015

Optimizaciones Rust.

Rust utiliza LLVM y toda su infraestructura de opctimizaciones. A persar de lo dicho durante años con los compiladores  jit  la realidad ha  demostrado que las estrategias más efectivas para conseguir el mejor rendimiento,  son las optimizaciones en tiempo de compilación apoyadas en tipado estático. En este sentido, Rust es fuerte. Pero tanto en Rust como en C++, hay cuestiones que se dejan al compilador. Por ejemplo el  RVO , hasta hace poco, era una opción del compilador. En otros veteranos lenguajes, como Pascal, por ejemplo, es algo explícito que  viene de serie. Y por ser explícito es sencillo y fácil de entender. En C++, saber cuándo y cómo el compilador hace su magia con el  RVO  u otras  optimizaciones complejas, dificulta el poder afinar al máximo en rendimiento. Otro ejemplo let mut a : [ i32 ; 4 ]; Podemos crear una variable sin darle un valor. Podemos dárselo más tarde, pero  en el caso del array, Rust nos pide amablemente que inicialicemos los valore