Cuando escribía likely, unlikely y __builtin_expect, me vinieron recuerdos de antaño. Me refieron en concreto a los hints o anotaciones. Es decir, añadidos que se hacen en el código fuente, con la finalidad que el documentador, compilador, intérprete o cualquier otra herramienta, pueda leerlos. El caso de la macro likely, era evidente, un añadido que no afecta al código fuente, pero que sirve para indicar al compilador como mejorar el código que genera. En realidad, las anotaciones, son algo que se usan con bastante frecuencia en casi todos los lenguajes de programación. Por ejemplo Google Closure Compiler y JSDoc usan los suyos para mejorar la velocidad de ejecución, detección de errores, y el detalle de la documentación respectivamente. Estoy seguro, que habréis visto lineas de código parecidas a estas: /* @type {number} */ var iNum; Sabemos que Javascript es en general, y desgraciadamente, un lenguaje sin tipos de datos explícitos, [...]
↧