Acerca del servicio
TraducidoSoy un desarrollador de bajo nivel que trabaja cerca del hardware. Durante más de diez años he escrito y optimizado a mano ensamblador para x86 y ARM, exprimiendo rendimiento donde cada ciclo de reloj y cada línea de caché importan. Cuando un bucle caliente ralentiza todo el producto, lo descompongo a nivel de instrucciones, entiendo exactamente cómo lo ejecuta el procesador y lo reescribo para que la tubería no se detenga, las ramas se predigan bien y el acceso a la memoria sea amigable con la caché. Este no es un desarrollo de aplicaciones típico: leo código desensamblado tan libremente como otros leen fuentes, y razono sobre registros, líneas SIMD, alineación y microarquitectura, no sobre frameworks.
Mi trabajo diario consiste en optimizar a mano secciones críticas para el rendimiento, perfilado cuidadoso y mediciones honestas antes y después, para que la ganancia sea visible en números, no solo en palabras. Depuro a nivel de instrucciones cuando un fallo o un error sutil solo se manifiesta en una compilación optimizada, y realizo ingeniería inversa legítima: restauro documentación perdida, entiendo el comportamiento no documentado de tu propio componente, o mantengo software cuyo binario se desvió de las fuentes. Escribo ensamblador limpio y comentado que un ingeniero ordinario también puede leer, y siempre mantengo una versión de referencia portátil cerca para que el código se mantenga manejable.
Muéstrame dónde duele: códec, núcleo matemático, analizador, bucle interno de física, procedimiento de firmware. Mediré, encontraré el verdadero cuello de botella en lugar de suposiciones, y entregaré una versión optimizada y probada con números que lo demuestren.
— Ensamblador x86 y ARM, escrito y optimizado a mano
— Vectorización SIMD: SSE, AVX y NEON
— Perfilado, benchmarks y análisis de puntos críticos
— Depuración de compilaciones optimizadas a nivel de instrucciones
— Ingeniería inversa y desensamblado para mantenimiento
— Ajuste de caché, alineación y predicción de ramas
Mi trabajo diario consiste en optimizar a mano secciones críticas para el rendimiento, perfilado cuidadoso y mediciones honestas antes y después, para que la ganancia sea visible en números, no solo en palabras. Depuro a nivel de instrucciones cuando un fallo o un error sutil solo se manifiesta en una compilación optimizada, y realizo ingeniería inversa legítima: restauro documentación perdida, entiendo el comportamiento no documentado de tu propio componente, o mantengo software cuyo binario se desvió de las fuentes. Escribo ensamblador limpio y comentado que un ingeniero ordinario también puede leer, y siempre mantengo una versión de referencia portátil cerca para que el código se mantenga manejable.
Muéstrame dónde duele: códec, núcleo matemático, analizador, bucle interno de física, procedimiento de firmware. Mediré, encontraré el verdadero cuello de botella en lugar de suposiciones, y entregaré una versión optimizada y probada con números que lo demuestren.
— Ensamblador x86 y ARM, escrito y optimizado a mano
— Vectorización SIMD: SSE, AVX y NEON
— Perfilado, benchmarks y análisis de puntos críticos
— Depuración de compilaciones optimizadas a nivel de instrucciones
— Ingeniería inversa y desensamblado para mantenimiento
— Ajuste de caché, alineación y predicción de ramas