program demo_system_cpu_time
use M_system, only : system_cpu_time
use ISO_C_BINDING, only : c_float
implicit none
real :: user_start, system_start, total_start
real :: user_finish, system_finish, total_finish
integer :: i
integer :: itimes=1000000
real :: value
call system_cpu_time(total_start,user_start,system_start)
value=0.0
do i=1,itimes
value=sqrt(real(i)+value)
enddo
write(10,*)value
flush(10)
write(*,*)'average sqrt value=',value/itimes
call system_cpu_time(total_finish,user_finish,system_finish)
write(*,*)'USER ......',user_finish-user_start
write(*,*)'SYSTEM ....',system_finish-system_start
write(*,*)'TOTAL .....',total_finish-total_start
end program demo_system_cpu_time