SUBROUTINE mp_perf_env_create(perf_env)
TYPE(mp_perf_env_type), OPTIONAL, POINTER :: perf_env
INTEGER :: i, stat
NULLIFY (perf_env)
ALLOCATE (perf_env, stat=stat)
IF (stat /= 0) THEN
DBCSR_ABORT("allocation failed in mp_perf_env_create")
END IF
last_mp_perf_env_id = last_mp_perf_env_id + 1
perf_env%id_nr = last_mp_perf_env_id
perf_env%ref_count = 1
DO i = 1, MAX_PERF
perf_env%mp_perfs(i)%name = sname(i)
perf_env%mp_perfs(i)%count = 0
perf_env%mp_perfs(i)%msg_size = 0.0_dp
END DO
END SUBROUTINE mp_perf_env_create