You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The execution of the following codes is slower than GFortran.
test.f90
module d
type mytype1
integer:: x,y,z
end type
type mytype2
integer:: x,y
type(mytype1) :: t
end type
interface assignment(=)
module procedure :: swap
end interface
containspuresubroutineswap(lhs,rhs)
type(mytype2), intent(in) :: rhs
type(mytype2), intent(out) :: lhs
lhs%x = rhs%y
lhs%y = rhs%x
lhs%t = rhs%t
endsubroutine
end module
subroutineddsnnn005(lhs,rhs)
use d
type(mytype2) :: rhs
type(mytype2) :: lhs
lhs = rhs
endsubroutine
main.f90
use d
implicit noneinteger, parameter:: count =10000integer:: i,j,k
type(mytype2) :: t1,t2
real:: start_t, end_t
interface
subroutineddsnnn005(lhs,rhs)
use d
type(mytype2) :: rhs
type(mytype2) :: lhs
endsubroutine
end interface
call cpu_time(start_t)
do i=1,count
do j=1,count
call ddsnnn005(t1,t2)
end doend docall cpu_time(end_t)
print*, end_t - start_t
end
The execution of the following codes is slower than GFortran.
The text was updated successfully, but these errors were encountered: