2. 1.- Inicio
2.- Incluir librerías
3.- Definición de variables auxiliares (i,j)
4.- Empieza a contar el reloj
5.- Creación Matriz 1
6.- Llenado de matriz 1 (random)
7.- Creación Matriz 2
8.- Llenado de matriz 2 (random)
9.- Creación de 4 hilos
10.- Asignación de tareas a los hilos (4 tareas) Para cada hilo se
asignara una porcion de las matrices las cuales fueron divididas en
4 partes, y para cada hilo y cada parte de las matrices se les
sumara la misma celda
11.- Se creara la matriz resultante
12.- Se imprimirá la matriz 1, 2 y resultante
13.- Termina conteo de tiempo
14.- Imprimir tiempo
15.- Fin
3.
4. 100% -> Impresiones (Fin)
80% -> Sumas (Operaciones)
60% -> Creación de
hilos y asignación de
tareas
40% -> Llenado de
matrices (random)
20% -> Creación
de espacios en
memoria
21. Como se observó en las tablas, el lenguaje Java se
tarda mas su tiempo de ejecución; esto es debido a
que Java se maneja atreves de una máquina virtual.
Para este ejemplo en especifico los lenguajes con
menor tiempo de ejecución son c++ seguido de
python.
Otra de las observaciones, es que en definitiva al
momento de dividir las tareas (y asignárselas a los
hilos) y paralelizar, reduce el tiempo de ejecución del
programa. Aunque en este ejemplo se ve muy poca la
diferencia, conforme mas se amplié la matriz mas
fácilmente se apreciará el cambio