Article View: es.comp.os.linux.programacion
Article #18465Solución [era lo de la piruleta ;]
From: CJR
Date: Thu, 09 Sep 1999 00:00
Date: Thu, 09 Sep 1999 00:00
81 lines
3371 bytes
3371 bytes
*puntero_loco escribió:
>
> El Tue, 07 Sep 1999 00:36:38 +0200, quasimodo_TEM <kuskiSKIPTHIS@euskalnet.net> escribió:
> |y además he puesto mal la secuencia de números de los cases:
> |en lugar de 0,1,2,...7 es 0,7,6,...,1.
> |
> |Es que no son horas para hacer estas cosas...
>
> Si, programar y leer las news a estas horas debería estar prohibido... y
> encima hacemos las dos cosas a la vez en este thread.
>
> --
> /-----------------------------\
> | *puntero_loco |
> | Debian 2.1 Slink |
> | jajsNOSPAM@retemail.es |
> | http://personal5.iddeo.es/jajs|
> \-----------------------------/
> ..
Esta es la respuesta correcta :
**************************************************************
La verdadera utilidad de la función esta es la optimización.
El único objetivo del programa es la copia
de "count" enteros, pero dividiendo la copia en grupos de 8.
Cada grupo de 8 enteros tiene asociadas 8 operaciones de copia
consecutivas. El compilador traducirá estas operaciones a
código máquina del procesador y el resultado serán varias
instrucciones seguidas. Además, si la arquitectura interna
del procesador está "segmentada" o dividida en unidades
funcionales paralelas es posible que varias de las operaciones
anteriores (y tras una reordenación) se realicen simultaneamente.
La utilización de un bucle lleva implícita una variable contador
de las pasadas del bucle. La copia de un array de enteror necesitaría
"count" operaciones (suma o resta de 1) del contador. La susodicha
función hace que sólo se necesiten "count" / 8 operaciones de suma
para la gestión del bucle. Por ejemplo, supongamos la copia de
128 Kb enteros. Entonces nos ahorraríamos 128 Kb - 128 Kb / 8 =
(7 * 128 Kb) / 8 = 7 * 16 Kb = 113 Kb operaciones de suma o resta.
¿ A que merece la pena ?
La función la encontré en un libro y aparentemente se usaba en
un controlador de dispositivo.
--
_ |\
/ \ __ /\_ / \ _
_/ \ / \/ \__/ V \_
/ V \_
Luis Paul Tomillo luispaul@bbvnet.com
***************************************************************
Bueno, pues aqui nos quedamos :)
Muchas gracias a todos los que habeis contestado al mensaje :)
--
Carlos J. Ramos (CJR)
Us. Reg. Linux #102.291
____________________________________________
CCR Software & Marketing
Primera empresa española en crear
software de gestión para GNU/Linux.
Technical Details
Message-ID:
<37D6E51A.7310B4B6@teleline.es>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<37D2B3AB.CC6C91AF@teleline.es> <fkruq7.hb1.ln@127.0.0.1> <37D43E49.44A4F402@euskalnet.net> <37D43FE0.7C0FAEB1@euskalnet.net> <37D441F6.9F549559@euskalnet.net> <noc4r7.fk.ln@JuAnJuX>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,ec38c86f5338aad7 X-Google-Attributes: gidf86c8,public From: CJR <cj.ramos@teleline.es> Subject: Solución [era lo de la piruleta ;] Date: 1999/09/09 Message-ID: <37D6E51A.7310B4B6@teleline.es> X-Deja-AN: 522706658 Content-Transfer-Encoding: quoted-printable References: <37D2B3AB.CC6C91AF@teleline.es> <fkruq7.hb1.ln@127.0.0.1> <37D43E49.44A4F402@euskalnet.net> <37D43FE0.7C0FAEB1@euskalnet.net> <37D441F6.9F549559@euskalnet.net> <noc4r7.fk.ln@JuAnJuX> X-Accept-Language: es-ES, en Content-Type: text/plain; charset=iso-8859-1 Organization: Telefonica Transmision de Datos Mime-Version: 1.0 Newsgroups: es.comp.os.linux.programacion