🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #18465

Solución [era lo de la piruleta ;]

#18465
From: CJR
Date: Thu, 09 Sep 1999 00:00
81 lines
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-mail
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>

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