#pragma omp parallel for
for( ; dsvc < dsvc_end; ++dsvc, ++ssvc ) {
if ( ! *dsvc )
*dsvc = *ssvc;
}
####
/* Do it. */
#pragma omp parallel for
for( o = 0; o < len; ++o ) {
if ( ! *( dsvc + o ) )
*(dsvc+o) = *(ssvc+o);
}
##
##
Rate moritz_inplace dio_openmp swap dio_noopenmp avar_tye_c_inplace avar_c_inplace dio_c
moritz_inplace 1948/s -- -64% -66% -68% -69% -73% -83%
dio_openmp 5344/s 174% -- -7% -13% -15% -26% -54%
swap 5745/s 195% 8% -- -6% -9% -20% -50%
dio_noopenmp 6124/s 214% 15% 7% -- -3% -15% -47%
avar_tye_c_inplace 6286/s 223% 18% 9% 3% -- -12% -45%
avar_c_inplace 7178/s 269% 34% 25% 17% 14% -- -38%
dio_c 11495/s 490% 115% 100% 88% 83% 60% --