Un programador describe cómo, mientras trabajaba con un colega en un sistema de monitorización de conectividad basado en pings ICMP, fue reduciendo progresivamente el tamaño de la estructura de datos que almacena las entradas del anillo (ring buffer) de 512 elementos. Partiendo de un struct inicial con marcas de tiempo en nanosegundos para envío y recepción, la dirección de origen, el número de secuencia y un booleano, el diseño alcanza 12 KiB para todo el buffer.
La optimización se apoya en varias ideas combinadas. Primero, se reemplaza el par de timestamps por una unión etiquetada: mientras el paquete no se ha recibido se guarda el instante de envío; al recibirse, se sustituye por la latencia calculada. Segundo, se reduce la precisión temporal de nanosegundos a incrementos de 100 microsegundos, suficientes para medir tiempos de ping del orden de decenas o cientos de milisegundos. Tercero, el campo "recibido" se codifica como un bitfield. Por último, se aprovecha el campo identificador de 16 bits de ICMP para distinguir cambios de dirección de origen con un contador de 4 bits, lo que permite eliminar la dirección de origen de la estructura y ajustar la alineación para que seq_no se cargue con una sola instrucción ldrh.
El resultado final son 4 KiB, ocho kilobytes menos que el diseño original, repartidos en una sola página de memoria. El artículo también muestra cómo reorganizar los campos y voltear la semántica del bit de recibido permite al compilador eliminar una operación de máscara. El autor reconoce que el ejercicio fue completamente innecesario, ya que la aplicación no tiene restricciones de memoria, pero resultaba entretenido.
