¿Sleep-sort es realmente malo?

Sleep sort: curiosidad de concurrencia que prueba dividir tiempos para acelerar la ordenación. Análisis en Python y Rust y lecciones sobre rendimiento y robustez.

31 ago 2025 • 3 min read • Q2BSTUDIO Team

Inteligencia-Artificial-

Hoy pongo a prueba sleep sort, pero no cualquier sleep sort: voy a acelerarlo para ver hasta dónde llega antes de romperse.

Antes, un resumen rápido de qué es sleep sort. La idea es lanzar un hilo por cada elemento a ordenar y hacer que cada hilo duerma un tiempo proporcional al valor del elemento. Cuando despierta, imprime o añade su número. Si el reloj y el planificador del sistema fueran perfectos, los más pequeños despertarían antes y el resultado quedaría ordenado.

Ejemplo mental con la lista [1, 3, 2]. Se crean tres hilos. El hilo del 1 duerme menos y termina primero, luego el del 2 y finalmente el del 3. La salida esperada sería 1, 2, 3. Simple, pero con muchas trampas en la práctica.

Cómo lo aceleré: si duermo exactamente el valor del elemento, todo es muy lento. Así que probé a dividir el tiempo de espera por un factor. Cuanto mayor es el divisor, menor es la espera y más rápido finaliza, pero aumenta el riesgo de que el orden se rompa por la resolución del temporizador del sistema, la latencia del scheduler y otros ruidos.

Pruebas en Python. Con tiempos sin dividir, la ordenación tardó cerca de 13 segundos. Al dividir por 100, el orden siguió siendo correcto y el tiempo cayó drásticamente. Subiendo el divisor, encontré el punto de ruptura en mi equipo en 456, es decir, hasta 455 la salida se mantenía correcta y a partir de 456 empezaban errores. Equipo de prueba: HP ProBook 455 G8, AMD Ryzen 5 5600U, 16 GB DDR4.

Límite práctico con Python alcanzado, probé en Rust buscando mejor precisión y menor sobrecarga. Con tiempos completos también rondó los 13 segundos. Dividiendo por 455, correcto. Por 1000, también correcto. Por 5000, sorprendentemente seguía bien. Por 10000, ya aparecieron desórdenes. Tras varios intentos, el punto de ruptura en mi máquina quedó en torno a 6760. Estos umbrales dependen del hardware, del sistema operativo y de su resolución de temporizador.

Qué nos enseñan estos experimentos. Uno, sleep sort es más una curiosidad que un algoritmo de ordenación usable en producción. Depende de factores no deterministas como el planificador de hilos, la granularidad de temporizadores y la carga del sistema. Dos, aunque puedas comprimir los tiempos dividiéndolos, llega un momento en que la resolución temporal no distingue números cercanos y se invierte el orden. Tres, si necesitas rendimiento real, los algoritmos y estructuras de datos deben elegirse por complejidad, estabilidad y robustez, no por trucos temporales.

En Q2BSTUDIO diseñamos y construimos aplicaciones a medida y software a medida con foco en rendimiento, seguridad y escalabilidad. Si quieres transformar procesos con agentes IA, visión por computadora o NLP, visita nuestra página de inteligencia artificial. Y si buscas un socio para crear plataformas robustas y multiplataforma listas para producción, descubre nuestro servicio de desarrollo de aplicaciones a medida.

Además de ia para empresas y agentes IA, cubrimos ciberseguridad y pentesting, servicios cloud aws y azure, servicios inteligencia de negocio con power bi, automatización de procesos y modernización de sistemas. Nuestro enfoque es integral: arquitectura, DevSecOps, observabilidad, pruebas de carga y fuertes garantías de calidad, para que tus soluciones evolucionen sin sorpresas y con métricas objetivas.

Conclusión práctica. Sleep sort es entretenido para aprender sobre concurrencia, temporizadores y scheduling, pero es inútil en entornos reales. Si necesitas ordenar, usa algoritmos probados. Si necesitas acelerar tu software, mide, perfila, elige estructuras adecuadas, paraleliza donde aporte y apóyate en equipos con experiencia. Para todo lo demás, estamos para ayudarte con inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio con power bi y soluciones de software a medida pensadas para durar.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat