Fairly safe to say that they both 'hand off' the cpu for the duration. The benchmark as run proves little else of course. I'll leave comparing their efficiency/accuracy AAEFTR.
#! perl -w
use strict;
use Win32;
use Benchmark;
timethese ( 100, {
'Win32' => ' sleep 1',
'Std' => ' Win32::Sleep 1000' ,
} );
__DATA__
# output
C:\test>183845
Benchmark: timing 100 iterations of Std, Win32...
Std: 100 wallclock secs ( 0.00 usr + 0.00 sys = 0.00 CPU)
(warning: too few iterations for a reliable count)
Win32: 100 wallclock secs ( 0.00 usr + 0.00 sys = 0.00 CPU)
(warning: too few iterations for a reliable count)
A quick 'deco' at the task manager whilst either sleep is in 'progress' shows that they are fairly obviously doing 'nothing'! :^)