Sistemas & Desarrollo

encontrados: 9, tiempo total: 0.113 segundos rss2
5 meneos
172 clics
¿Por qué procesar un array ordenado es más rápido que procesar uno desordenado? [ENG]

¿Por qué procesar un array ordenado es más rápido que procesar uno desordenado? [ENG]  

He aquí un fragmento de código en C++ que parece muy peculiar. Por alguna extraña razón, el procesado de los datos ordenados hace que, milagrosamente, la ejecución del código sea casi seis veces más rápida que con los datos desordenados. ¿Qué está pasando? ¿Por qué procesar un array ordenado es más rápido que procesarlo desordenado?
20 meneos
317 clics

La E/S es más rápida que la CPU: separemos conceptos y quitemos la mayoría de abstracciones del SO [ENG|PDF 444 Kb]

La E/S es cada vez más rápida en servidores que tienen NIC programables rápidos y memoria principal no volátil funcionando a cerca de la velocidad de DRAM, pero la velocidad de los procesadores monohilo se ha estancado. Las aplicaciones no pueden aprovechar las capacidades del hardware moderno cuando usan interfaces creadas alrededor de abstracciones que asumen que la E/S es lenta. Por lo tanto proponemos una estructura para un sistema operativo llamada parakernel que elimina la mayoría de las abstracciones del sistema operativo proporcionando interfaces que aprovechen el máximo potencial del hardware. El parakernel facilita la paralelización particionando los recursos de forma segura.
16 4 0 K 45
16 4 0 K 45
9 meneos
339 clics

Herramientas de línea de comandos más rápidas usando el lenguaje de programación D [ENG]

Esta entrada muestra cómo unas simples construcciones en el lenguaje de programación D pueden hacer que una ya rápida herramienta de línea de comandos se convierta en una especialmente rápida sin perder la simplicidad inherente del programa original. La solución es aplicable a muchos problemas de programación, no sólo a herramientas en línea de comandos. Esta entrada muestra cómo funcionan estas técnicas y por qué son efectivas.
14 meneos
436 clics
¿Cómo de rápido es un teclado PS/2? [ENG]

¿Cómo de rápido es un teclado PS/2? [ENG]

Hace unas semanas, surgió una pregunta interesante: ¿cómo es de rápido un teclado PS/2? Es decir, ¿cómo de rápido puede enviar códigos de escaneo (bytes) al controlador del teclado? Uno también podría preguntar: ¿realmente importa? Pues sí, importa. Resulta que el tiempo de ejecución de Borland Turbo Pascal 6.0, y probablemente algunas versiones relacionadas, manejan la entrada del teclado de una manera poco ortodoxa. En tiempo de ejecución se instala un controlador propio en INT 9/IRQ 1 (interrupción del teclado) que lee el puerto 60h (datos de teclado) para luego encadenar al controlador original que lee el puerto 60h de nuevo esperando leer el mismo valor.
11 3 0 K 34
11 3 0 K 34
9 meneos
211 clics
Conquista la terminal con “El arte de la linea de comandos”

Conquista la terminal con “El arte de la linea de comandos”  

The art of command line es un proyecto colaborativo disponible en GitHub que nos ofrece una guía para dominar los comandos más útiles que nos podemos encontrar en sistemas GNU/Linux, Unix y Mac OS X. Existen varios libros que tratan profundamente este tema, en el caso de The art of command line lo que ofrece es un punto de partida para los se inician en Linux y la opción de descubrir algún que otro truco sobre el lenguaje Bash –la guía esta enfocada claramente hacia ese interprete– por parte de los más usuarios más experimentados.
46 meneos
1244 clics
Catorce de los proyectos de código abierto más activos en GitHub

Catorce de los proyectos de código abierto más activos en GitHub  

En GitHub hay miles, incluso decenas de miles de proyectos de software open source (y otras muchas cosas, que abogados, periodistas o escritores están apuntándose cada vez más al versionado). Tantos que uno puede no saber por donde empezar. Una manera muy interesante es el propio ranking de tendencias de GitHub, una especie de Los 40 Principales del software libre, ideal para encontrar proyectos en los que colaborar, forkearlos o simplemente inspirarse. Estos son actualmente los más calientes a fecha de noviembre de 2017.
35 11 1 K 49
35 11 1 K 49
8 meneos
187 clics
Consejos para escribir buen código en C++ [ENG]

Consejos para escribir buen código en C++ [ENG]

El equipo de PVS-Studio ha verificado más de 200 proyectos de código abierto escritos en C y C++ y ha creado esta página web para compartir los errores más comunes que han encontrado, su explicación y la forma de resolverlos, además de ofrecer consejos para escribir buen código fuente.
5 meneos
97 clics
Cómo lambdas y streams en Java 8 pueden hacer que tu código se ejecute 5 veces más lento [ENG]

Cómo lambdas y streams en Java 8 pueden hacer que tu código se ejecute 5 veces más lento [ENG]

Se ha hablado mucho de la velocidad de los streams en Java 8, pero como muestra Alex Zhitnitsky usando un estilo más tradicional de programación Java empleando iteradores y bucles, estos superan significativamente en rendimiento a las nuevas implementaciones que usan lambdas y streams en Java 8.
209 meneos
3807 clics
Arrancar un 486 desde un disquete con el kernel Linux más reciente y estable hasta a la fecha [ENG]

Arrancar un 486 desde un disquete con el kernel Linux más reciente y estable hasta a la fecha [ENG]  

En agosto de 2019 participé en un concurso cuyo desafío era sincronizar un archivo MIDI con un sintetizador de voz cantando la letra. En el concurso de esta semana la idea era encontrar un ordenador con un 486 como procesador (pizza box form factor) y hacerlo funcionar, así que me puse a buscar uno por Internet. Después de encontrarlo, el reto era iniciar una versión reciente de Linux, cosa que no fue trivial. Finalmente, después de configurar el kernel de forma mínima y generar un pequeño initramfs, conseguí meterlo en un disquete e iniciar el equipo.
112 97 3 K 52
112 97 3 K 52

menéame