Si usas Dolphin, el gestor de archivos de KDE, es posible que no hayas notado nada distinto a simple vista en la versión 26.08, pero por debajo hay un trabajo de rendimiento considerable que merece la pena conocer. Dolphin en sí apenas toca los archivos directamente: delega esa tarea en KIO, la infraestructura de entrada y salida de KDE, así que las mejoras de esta versión son, en realidad, mejoras de KIO. Entre la versión 6.25, la que acompañó a Dolphin 26.04, y la 6.29, la que llega con Dolphin 26.08, ha habido cuatro lanzamientos del framework y cerca de trescientos cambios acumulados. El desarrollador Méven Car ha publicado las mediciones que muestran en qué se ha notado ese esfuerzo.
El cambio con más impacto práctico tiene que ver con cómo se mueven los datos cuando trabajas con archivos guardados en tu propio disco. Durante un tiempo, KIO ya ejecutaba estas operaciones locales en un hilo dentro de la propia aplicación en lugar de en un proceso aparte, pero seguía comunicándose consigo mismo como si fueran dos programas distintos, empaquetando y desempaquetando cada fragmento de información. En la versión 6.29 ese paso intermedio desaparece para las lecturas locales, lo que se traduce en copias notablemente más rápidas cuando manejas muchos archivos pequeños: las pruebas muestran que copiar una gran cantidad de archivos de tamaño reducido llega a completarse en menos de la mitad de tiempo que en abril. Esa ganancia se reduce a medida que los archivos son más grandes, algo lógico, porque entonces el tiempo que domina es el de mover los datos en sí, no el trabajo de gestión alrededor de cada archivo.
También se ha simplificado una comprobación que se repetía sin necesidad: antes, al copiar varios archivos, KIO volvía a preguntar por el tipo de sistema de archivos de destino en cada uno de ellos, cuando ese dato no cambia entre archivo y archivo dentro de la misma operación. Ahora esa consulta se hace una sola vez. Eliminar archivos también mejora, aunque en menor medida, porque una eliminación no mueve contenido, así que buena parte de la ganancia que sí beneficia a la copia no aplica aquí. Aun así, las mediciones muestran un proceso bastante más ágil que en la versión anterior, especialmente cuando le pides trabajar sobre una carpeta completa en lugar de darle archivo por archivo, que es la diferencia entre cómo actúa internamente un gestor de archivos y cómo lo haría un comando de terminal clásico.
Uno de los cambios que más nota alguien que usa Dolphin de forma habitual, según explica Méven Car, tiene que ver con la memoria que se queda reservada después de visitar carpetas. Antes, Dolphin guardaba en caché información de hasta diez carpetas que ya no estabas mirando, así que si recorrías varias carpetas con muchos archivos, esa memoria se iba acumulando sin que la necesitaras realmente. Ahora esa caché se ha reducido a solo tres carpetas, y cualquier dato de una carpeta que nadie ha vuelto a abrir en tres minutos se libera. Para una carpeta con decenas de miles de archivos, esa diferencia se nota: las pruebas hablan de un ahorro de memoria de en torno al catorce por ciento al listar carpetas grandes, sin que eso afecte a la velocidad de volver a abrir una carpeta reciente, que sigue respondiendo casi al instante gracias a otro nivel de caché independiente.
A esto se suma un ajuste interno en cómo se representa cada archivo dentro de una lista de carpeta: la estructura que guarda esos datos ahora reparte mejor el espacio entre los campos de texto y los numéricos, en lugar de repartirlo siempre a partes iguales, que era ineficiente porque un archivo normal tiene mucho más datos numéricos, como tamaño y fecha, que texto. El resultado, en una lista de doscientos mil archivos, es un ahorro de memoria de más de veinticinco megabytes solo por este cambio.
Buena parte del ciclo también se ha dedicado a cazar fugas de memoria y fallos ocasionales que llevaban tiempo presentes. KIO ahora ejecuta sus pruebas automáticas con una herramienta que detecta fugas en cada revisión de código antes de aceptarla, lo que evita que ese tipo de problemas vuelva a acumularse sin que nadie se dé cuenta. Gracias a este trabajo se han cerrado diecinueve informes de error, la mayoría de ellos abiertos originalmente contra aplicaciones como Dolphin, Plasma, Konsole o KWin, que es donde una persona usuaria realmente percibe el problema aunque el origen esté en KIO. Entre las correcciones concretas hay una acción de arrastrar y soltar que llevaba rota desde la versión 6.25, un temporizador que no se detenía correctamente y podía dispararse sobre un trabajo ya terminado, y un fallo que podía producirse al navegar mientras una carpeta terminaba de cargarse en un mal momento.
Aunque todavía no se ha publicado, Méven Car adelanta que la versión 6.30 de KIO incorporará cambios que profundizan en la misma dirección. El más importante evita un paso de conversión de datos que ya no hace falta cuando el trabajo se ejecuta dentro del mismo proceso, lo que reduce aún más el uso de memoria en las listas de archivos. El segundo corrige un problema que llevaba años presente sin que nadie lo hubiera detectado: al listar carpetas muy grandes, una función encargada de reservar espacio en memoria terminaba copiando datos de forma innecesaria en cada lote, lo que hacía que listar cincuenta mil archivos tardara muchísimo más de lo esperado en proporción a listar solo cinco mil. Corregir ese punto reduce el tiempo de listado de esas carpetas grandes a menos de la mitad. También se anuncia una forma de eliminar carpetas completas que depende menos de lo profunda que sea su estructura interna, algo que hasta ahora podía multiplicar por cuatro el tiempo necesario según cuántos niveles de subcarpetas hubiera que atravesar.
Nada de esto cambia la forma en que usas Dolphin ni añade una sola opción nueva al menú, y quizá por eso pase desapercibido para la mayoría. Pero es un buen recordatorio de que buena parte del software libre que usamos a diario mejora también así, con mediciones concretas, fallos cerrados uno a uno y decisiones técnicas que rara vez se anuncian con un titular llamativo. La próxima vez que copies una carpeta con miles de fotos y todo vaya un poco más fluido, probablemente sea gracias a un trabajo como este.
Fuente: KDE.org
Añadir comentario
Comentarios