Mudanças entre as edições de "Ponto Flutuante"

De WikiLICC
Ir para: navegação, pesquisa
m
m
Linha 13: Linha 13:
 
| 15 μs
 
| 15 μs
 
|-
 
|-
| a = b
+
| <code>a = b</code>
|
+
| 15 &mu;s
 
|-
 
|-
| a = a+b
+
| <code>a = a+b</code>
|
+
| 98 &mu;s
 
|-
 
|-
| a = b+c
+
| <code>a = b+c</code>
|
+
| 20 &mu;s
 
|-
 
|-
| a = b-c
+
| <code>a = b-c</code>
|
+
| 20 &mu;s
 
|-
 
|-
| a = b*c
+
| <code>a = b*c</code>
|
+
| 20 &mu;s
 
|-
 
|-
| a = b/c
+
| <code>a = b/c</code>
|
+
| 20 &mu;s
 
|-
 
|-
| a = sqrt(1.23D0)
+
| <code>a = sqrt(1.23D0)</code>
|
+
| 20 &mu;s
 
|-
 
|-
| a = sqrt(b)
+
| <code>a = sqrt(b)</code>
|
+
| 121 &mu;s
 +
|-
 +
| <code>if(b==0.d0)then</code>
 +
| 15 &mu;s
 
|}
 
|}

Edição das 21h28min de 20 de agosto de 2009

Qual o tempo necessário para realizar uma operação em ponto flutuante?

No compilador Intel Fortran 11, Windows XP SP 3, Pentium 4 HT 3.00GHz obtive o seguinte resultado (5 testes, desprezando o pior e melhor resultado, e média dos 3 restantes).

real   :: a,b,c


Fortran tempo
a = 1.23D0 15 μs
a = b 15 μs
a = a+b 98 μs
a = b+c 20 μs
a = b-c 20 μs
a = b*c 20 μs
a = b/c 20 μs
a = sqrt(1.23D0) 20 μs
a = sqrt(b) 121 μs
if(b==0.d0)then 15 μs