Muchas gracias por molestarte en responder -eso sobre todo- ... pero no me queda claro. Tu dices que tengo n/2 por hilo... y que es un único procesador...pero es que son 4 núcleos. ¿no significa eso que que cada nucleo puede procesar por separado n/2 al mismo tiempo? es decir, que el resultado final sería n/2 y no n/2+n/2=n? Osease, no hay una unidad de coma flotante -FPU- por núcleo, que puede procesar operaciones independientemente de lo que sucede en  otros nucles? ¿no es esta la principal ventaja de los multicores?<br>
Espero su respuesta... y de nuevo muchas gracias. Otra cosa, mi formación no es ingeniería informática asi que muchas veces no sé por donde buscar... por lo que si alguien pudiese recomendarme literatura en la que aclarar esto... pues se lo agradecería mucho.<br>
<br><br><br><div class="gmail_quote">El día 26 de junio de 2008 19:42, Raul Chakraborty <<a href="mailto:chakras_ve@hotmail.com">chakras_ve@hotmail.com</a>> escribió:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">




<div>
<br><font color="#0000ff">A ver, fijate en que tienes el mismo numero de procesadores haciendo el mismo trabajo. Si todo el trabajo lo hiciera un programa tardaria un tiempo n de procesador. Si fueran dos hilos tardaria n/2 cada uno, suponiendo que no existe tiempo de retardo para cambiar de hilo. Por lo tanto tardarias lo mismo. Ahora debes tener en cuenta de que estas cambiando de hilos, por lo tanto el procesador toma tiempo para cambiar de contexto. </font><br>

<font color="#0000ff"></font> <br>
<font color="#0000ff">El punto es que solo tienes un procesador, he independientemente de los hilos que tengas corriendo de manera concurrente, el unico que puede procesarlos a todos es este. Por lo tanto el tiempo que tardara el truco de cortar un proceso en 2, mas o lo mismo en su mejor condicion ya que todos pasan por el mismo procesador. Si tuvieces mas de un procesador el truco que haces si seria valido ya que cada procesador procesaria un hilo distinto.<br>

<br><br></font>
<blockquote>
<hr>
Date: Thu, 26 Jun 2008 11:29:25 +0200<br>From: <a href="mailto:alnavegante@gmail.com" target="_blank">alnavegante@gmail.com</a><br>To: <a href="mailto:Cconclase@listas.conclase.net" target="_blank">Cconclase@listas.conclase.net</a><br>
Subject: [C con Clase] Threads en C<div><div></div><div class="Wj3C7c"><br><br>En primer lugar, un saludo a todos. Esta es mi primera consulta a la lista, aunque la leo a diario.<br><br>Mi cuestión es la siguiente: estoy trabajando con matrices la cuales recorro de la siguiente forma:<br>
<br>    for( j=1; j<dimy-1; j++ )<br>        {<br>        for( i=1; i<dimx-1; i++ )<br>            {<br>             u[j][i]=f(u[j+1][i],u[j-1][i]) //no es mas que un ejemplo<br>            }<br>        }<br><br>y se me ha ocurrido que para acelerar el calculo, en lugar de hacer lo anterio, creo dos hilos -bajo Win32-, de forma que recorran la matriz asi: <br>
<br>    for( j=1; j<dimy/2; j++ )<br>        {<br>        for( i=1; i<dimx-1; i++ )<br>            {<br>             u[j][i]=f(u[j+1][i],u[j-1][i]) //no es mas que un ejemplo<br>            }<br>        }<br><br>    for( j=dimy/2; j<dimy-1; j++ )<br>
        {<br>        for( i=1; i<dimx-1; i++ )<br>            {<br>             u[j][i]=f(u[j+1][i],u[j-1][i]) //no es mas que un ejemplo<br>            }<br>        }<br><br>es decir, un hilo recorre la primera mitad de la matriz y el otro la segunda mitad. El caso es que este procedimiento no es más rápido, sino todo lo contrario... tardo entre el doble y el triple en hacerlo. ¿Alguien puede explilcarme por qué?  ¿no debería ser más rápido efectuar dos procesos en paralelo -ejecuto en un Quad Core- en lugar de uno sólo?<br>
<br><br>Por adelantado, muchas gracias. <br></div></div></blockquote><div class="WgoR0d"><br><hr>Sigue al minuto las principales noticias de tu ciudad <a href="http://deportes.es.msn.com/" target="_blank">MSN Deportes</a></div>
</div>
<br>_______________________________________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</a><br>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br></blockquote></div><br>