Skip to content

add new module to core called Time::HiRes (a real benchmark framework) #23389

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 20 commits into
base: blead
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
565b8ff
Time::HiRes.xs: hrstatns() change dTHX -> pTHX inside static func
bulk88 Jun 24, 2025
ba5e04c
Time::HiRes::stat() cleanup and optimize fake OP struct construction
bulk88 Jun 24, 2025
97c021c
Time::HiRes.xs shorten multiple very long croak("unimplemented") strings
bulk88 Jun 24, 2025
d864295
Time::HiRes.xs don't Win32's QueryPerformanceFrequency() over and over
bulk88 Jun 24, 2025
a9048c9
Time::HiRes.xs rmv SvIV()/SvNV() calls from croak("unimplemented") stubs
bulk88 Jun 24, 2025
387476b
Time::HiRes: tweak Win32 static polyfill _GetSystemTimePreciseAsFileT…
bulk88 Jun 24, 2025
d84d8b0
Time::HiRes.xs factor out "negative time not invented yet" croaks() msgs
bulk88 Jun 24, 2025
56179e8
Time::HiRes.xs: clock_getres() clock_gettime() remove unused initiali…
bulk88 Jun 24, 2025
7ab39d0
Time::HiRes slim down Win32's _gettimeofday() _clock_gettime() polyfills
bulk88 Jun 24, 2025
e2062a2
Time::HiRes::bootstrap() use more local vars in registers vs global d…
bulk88 Jun 25, 2025
0fa16da
Time::HiRes::stat() change ix from 0/1 to OP_STAT/OP_LSTAT, add $_[0]…
bulk88 Jun 25, 2025
c871985
Time::HiRes.xs add a specialized croak_unimplemented(cv) function
bulk88 Jun 25, 2025
09a40ae
Time::HiRes.xs remove or collapse redundant EXTEND()s
bulk88 Jun 25, 2025
87c3bfb
Time::HiRes.xs switch croak_xs_unimplemented() to cv_name(), less bloat
bulk88 Jun 25, 2025
ab4ced1
Time::HiRes add fast no dTHX; myNVtime() variant for CPAN XS devs (ex…
bulk88 Jun 25, 2025
5b3ef87
Time::HiRes Win32 remove a few layers of jump fn calls from QPC()
bulk88 Jun 27, 2025
df9801d
Time::HiRes aggressive max perf implementation of dXSTARG; TARGi_u_n(,);
bulk88 Jun 27, 2025
0fd3e3f
Time::HiRes Win32 add nv_gettimeofday() nv_clock_gettime() anti-precs…
bulk88 Jun 27, 2025
583ccfe
Time::HiRes add nv_gettimeofday() to usleep() and sleep()
bulk88 Jun 27, 2025
02c65aa
Time::HiRes move @EXPORT_OK init to XS save disk and mem (SVPV HEK* COW)
bulk88 Jun 27, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 6 additions & 43 deletions dist/Time-HiRes/HiRes.pm
Original file line number Diff line number Diff line change
Expand Up @@ -9,48 +9,11 @@ use XSLoader ();
our @ISA = qw(Exporter);

our @EXPORT = qw( );
# More or less this same list is in Makefile.PL. Should unify.
our @EXPORT_OK = qw (usleep sleep ualarm alarm gettimeofday time tv_interval
getitimer setitimer nanosleep clock_gettime clock_getres
clock clock_nanosleep
CLOCKS_PER_SEC
CLOCK_BOOTTIME
CLOCK_HIGHRES
CLOCK_MONOTONIC
CLOCK_MONOTONIC_COARSE
CLOCK_MONOTONIC_FAST
CLOCK_MONOTONIC_PRECISE
CLOCK_MONOTONIC_RAW
CLOCK_PROCESS_CPUTIME_ID
CLOCK_PROF
CLOCK_REALTIME
CLOCK_REALTIME_COARSE
CLOCK_REALTIME_FAST
CLOCK_REALTIME_PRECISE
CLOCK_REALTIME_RAW
CLOCK_SECOND
CLOCK_SOFTTIME
CLOCK_THREAD_CPUTIME_ID
CLOCK_TIMEOFDAY
CLOCK_UPTIME
CLOCK_UPTIME_COARSE
CLOCK_UPTIME_FAST
CLOCK_UPTIME_PRECISE
CLOCK_UPTIME_RAW
CLOCK_VIRTUAL
ITIMER_PROF
ITIMER_REAL
ITIMER_REALPROF
ITIMER_VIRTUAL
TIMER_ABSTIME
d_usleep d_ualarm d_gettimeofday d_getitimer d_setitimer
d_nanosleep d_clock_gettime d_clock_getres
d_clock d_clock_nanosleep d_hires_stat
d_futimens d_utimensat d_hires_utime
stat lstat utime
);

our $VERSION = '1.9778';
# More or less this same list is in Makefile.PL. Should unify. It is filled
# in by ::bootstrap(). Check t/clock.t for the definition.
our @EXPORT_OK;

our $VERSION = '1.9779';
our $XS_VERSION = $VERSION;
$VERSION = eval $VERSION;

Expand Down Expand Up @@ -90,7 +53,7 @@ sub import {
goto &Exporter::import;
}

XSLoader::load( 'Time::HiRes', $XS_VERSION );
XSLoader::load( 'Time::HiRes', $XS_VERSION, \@EXPORT_OK );

# Preloaded methods go here.

Expand Down
Loading
Loading