Hi,

I tried to calculate the relations:

a=b**1.5

and

a=sqrt(b)**3

they are the same in the mathematical point of view but the second version works 7 times faster. I tried it with various optimization levels without big difference.
I think that it is easy to optimize no the code level.

I'm not a member of the group so if you need more details write to me directly.

bellow is the piece of code I have used to check the problem

program aaaa
 integer, parameter:: N=10000000
 real*8 a(N)
 integer i
 real czas0,czas1 !time0, time1
 ! some initial values
 do i=1,N
  a(i)=real(i,8)*0.1
 enddo
 ! the first version
 call cpu_time(czas0)
 do i=1,N
  a(i)=a(i)**1.5
 enddo
 call cpu_time(czas1)
 print*,"pow 1.5",czas1-czas0
 ! the second version
 call cpu_time(czas0)
 do i=1,N
  a(i)=sqrt(a(i))**3
 enddo
 call cpu_time(czas1)
 print*,"sqrt/pow",czas1-czas0
end

See you


Reply via email to