Commit | Line | Data |
dcf686c9 |
1 | Revision history for Perl extension Time::HiRes. |
2 | |
f8daf111 |
3 | 1.70 - oops in 1.69 about @ISA (not affecting anything but silly) |
4 | - add copyright 2005 to HiRes.pm |
5 | - add copyright and license to HiRes.xs |
6 | - add copyrights 2003,2004,2005 to README |
7 | |
26e22fd9 |
8 | 1.69 - actually run a test for nanosleep since e.g. in AIX 4.2 |
9 | it seems that one can link in nanosleep() but then calling |
10 | it fails instantly and sets errno to ENOSYS (Not implemented). |
11 | This may be fixable in the AIX case by figuring out the right |
12 | (realtime POSIX?) libs and whatnot, but in the general case |
13 | running a real test case is better. (Of course, this change |
14 | will no doubt run into portability problems because of the |
15 | execution step...) |
16 | (from José Auguste-tienne) |
17 | - support XSLoader also since it's much faster |
18 | (from Alexey Tourbin) |
19 | - add SEE ALSO (BSD::Resource and Time::TAI64) |
20 | |
993164ab |
21 | 1.68 |
22 | - somehow 1.67 had a lot of doubled lines (a major cut-and-paste |
23 | error suspected), but miraculously it still worked since the |
24 | doubling took place below the __END__ token |
25 | - undef Pause() before defining it to avoid redefinition warnings |
26 | during compilation in case perl.h had already defined Pause() |
27 | (part of perl change #24271) |
28 | - minor doc tweaks |
29 | |
30 | 1.67 |
31 | - (internal) don't ignore the return value of gettimeofday() |
32 | - (external) return undef or an empty if the C gettimeofday() fails |
33 | (affects Time::HiRes gettimeofday() and the hires time()) |
34 | |
44d3ce20 |
35 | 1.66 |
36 | - add nanosleep() |
37 | - fix the 'hierachy' typo in Makefile.PL [rt.cpan.org #8492] |
38 | - should now build in Solaris [rt.cpan.org #7165] (since 1.64) |
39 | - should now build in Cygwin [rt.cpan.org #7535] (since 1.64) |
40 | - close also [rt.cpan.org #5933] "Time::HiRes::time does not pick up time adjustments like ntp" since ever reproducing it in the same environment |
41 | has become rather unlikely |
42 | |
64a7a97c |
43 | 1.65 |
44 | - one should not mix u?alarm and sleep (the tests modified |
45 | by 1.65, #12 and #13, hung in Solaris), now we just busy |
46 | loop executing an empty block |
47 | - in the documentation underline the unspecificity of mixing |
48 | sleeps and alarms |
49 | - small spelling fixes |
50 | |
51 | 1.64 |
52 | - regenerate ppport.h with Devel::PPPort 3.03, |
53 | now the MY_CXT_CLONE is defined in ppport.h, |
54 | we no more need to do that. |
55 | |
56 | - the test #12 would often hang in sigsuspend() (at least that's |
57 | where Mac OS X' ktrace shows it hanging). With the sleep()s |
58 | changed to sleep(1)s, the tests still pass but no hang after |
59 | a few hundred repeats. |
60 | |
1fbb4de4 |
61 | 1.63 |
62 | - Win32 and any ithread build: ppport.h didn't define |
63 | MY_CXT_CLONE, which seems to be a Time-HiResism. |
64 | |
65 | 1.62 |
66 | - Skip testing if under PERL_CORE and Time::HiRes has not |
67 | been Configured (from Marcus Holland-Moritz, core change |
68 | #23246) |
69 | - Use ppport.h generated by Devel::PPPort 3.01, |
70 | allowing cutting away our own portability code. |
71 | - Don't use $ENV{PERL_CORE} for < 5.6.0. |
72 | - Don't use "for my $i" for <= 5.003. |
73 | - Don't use Pause() for <= 5.003. |
74 | - Can't use newSVpvf for <= 5.003. |
75 | (most of the changes from Marcus) |
76 | |
4ed0e2d4 |
77 | 1.61 |
78 | - Win32: reset reading from the performance counters every |
79 | five minutes to better track wall clock time (thanks to |
80 | PC timers being often quite bad), should help long-running |
81 | programs. |
82 | |
83 | 1.60 |
84 | - Win32: Patch from Steve Hay |
85 | [PATCH] Re: [perl #30755] [Win32] Different results from Time::HiRes::gettimeofdayunder the debugger |
86 | to [perl #30755] reported by Nigel Sandever |
87 | |
88 | - Cygwin: Use the Win32 recalibration code also in Cygwin if the |
89 | <w32api/windows.h> APIs are available. Cygwin testing by |
90 | Yitzchak Scott-Thoennes. |
91 | |
92 | - Solaris: use -lposix4 to get nanosleep for Solaris 2.6, |
93 | after that keep using -lrt, patch from Alan Burlison, |
94 | bug reported in [cpan #7165] |
95 | |
d8cb5b61 |
96 | 1.59 |
97 | - Change the Win32 recalibration limit to 0.5 seconds and tweak |
98 | the documentation to blather less about the gory details of the |
99 | Win32 implementation and more about the complications in general |
100 | of meddling with the system clock. |
101 | |
102 | 1.58 |
103 | - Document the 1.57 change better. |
104 | |
c1dc6e7c |
105 | 1.57 |
d8cb5b61 |
106 | - Win32/Cygwin/MinGW: if the performance counter drifts by more |
107 | than two seconds from the system clock (due to ntp adjustments, |
c1dc6e7c |
108 | for example), recalibrate our internal counter: from Jan Dubois, |
109 | based on [cpan #5933] by Jerry D. Hedden. |
110 | |
1caec985 |
111 | 1.56 |
112 | - Give a clearer message if the tests timeout (perl change #22253) |
113 | - Don't use /tmp or its moral equivalents (perl bug #15036, |
114 | perl change #22258) |
115 | |
b6136f41 |
116 | 1.55 |
4ed0e2d4 |
117 | - Windows: mingw32 patch from Mike Pomraning (use Perl's Const64() |
b6136f41 |
118 | instead of VC-specific i64 suffix) |
119 | |
0225372c |
120 | 1.54 |
121 | - Solaris: like Tru64 (dec_osf) also Solaris need -lrt for nanosleep |
122 | |
123 | 1.53 |
124 | - Windows: higher resolution time() by using the Windows |
125 | performance counter API, from Jan Dubois and Anton Shcherbinin. |
126 | The exact new higher resolution depends on the hardware, |
127 | but it should be quite a bit better than using the basic |
128 | Windows timers. |
129 | |
690f7c5f |
130 | 1.52 |
131 | - In AIX (v?) with perl 5.6.1 the HiRes.t can hang after |
132 | the subtest 18. No known analysis nor fix, but added |
133 | an alarm (that requires fork() and alarm()) to the test. |
134 | |
b85af263 |
135 | 1.51 |
136 | - doc tweaks from mjd (perl change #20456) |
137 | - NCR MP-RAS hints file added (svr4.pl) (perl change #21249) |
138 | |
d7358e6a |
139 | 1.50 |
140 | - add a message (for non-core builds) to Makefile.PL about |
141 | the LC_ALL=C workaround |
142 | - &Time::HiRes::d_nanosleep was broken (perl change #20131) |
143 | - the nanosleep() probe was broken (perl change #20061) |
144 | - use existence instead of definedness for feature probes |
145 | (perl change #20043) |
146 | - MPE/iX tweak (perl change #20042) |
147 | - do not use HAS_NANOSLEEP (perl change #19898) |
148 | |
df16a331 |
149 | 1.49 |
150 | - UVuf for non-IVSIZE platforms (from Keiichiro Nagano) |
151 | - OS/2 can always mix subsecond sleeps with signals |
152 | (part of perl change #19789) |
153 | |
2d9815af |
154 | 1.48 |
155 | - workaround for buggy gcc 2.95.3 in openbsd/sparc64 |
156 | (perl change #19592) |
157 | |
1a08a6ab |
158 | 1.47 |
2d9815af |
159 | - do not use -lrt in Linux (from March Lehmann, perl change #19449) |
1a08a6ab |
160 | - unnecessary (nanosleep is in libc anyway) |
161 | - harmful (-lrt slows down execution) |
162 | - incompatible (with many distributions' pthreads) |
163 | |
25ca0970 |
164 | 1.46 |
165 | - do not create files in blib directories under core |
166 | (perl change #19160, from rgs) |
167 | - detypo s/VTLARM/VTARLM/ (perl change #19328, from mjd) |
168 | |
169 | 1.45 |
170 | - guarantee that $xdefine in HiRes.t is always defined |
171 | (perl change #19109, from IlyaZ) |
172 | - a cleaner way to detect PERL_CORE (perl change #19111, |
173 | from IlyaZ) |
174 | |
0be47ac6 |
175 | 1.44 |
176 | - add hints/irix.pl to turn off overly POSIX flags that |
177 | cause hide struct timespec to be hidden (and compilation |
25ca0970 |
178 | to fail) (bleadperl change #19085) |
0be47ac6 |
179 | - documentation tweaks |
180 | |
a0c8e3cf |
181 | 1.43 |
182 | - add c:/temp to the list of temp directories to probe |
183 | so that cygwin (and win*?) builds are happy. This was |
184 | needed at least in my cygwin 1.3.20/w2k setup. |
185 | |
98b50af3 |
186 | 1.42 |
187 | - modernize the constants code (from Nicholas Clark) |
188 | |
189 | 1.41 |
190 | - At some point the ability to figure our the correct incdir |
191 | for EXTERN.h (either a core perl build, or an installed perl) |
192 | had broken (which lead into all test compiles failing with |
193 | a core perl build, but thanks to the robustness of Makefile.PL |
a0c8e3cf |
194 | nothing of this was visible). The brokenness seemed to be |
195 | caused by $ENV{PERL_CORE} not being on for core builds? |
196 | Now stole a trick from the Encode that sets $ENV{PERL_CORE} |
197 | right, and both styles of build should work again. |
98b50af3 |
198 | |
199 | 1.40 |
200 | - Nicholas Clark noticed that the my_catdir() emulation function |
201 | was broken (which means that we didn't really work for Perls |
202 | 5.002 and 5.003) |
203 | - inspired by fixing the above made the whole Makefile.PL -w |
204 | and strict clean |
205 | - tightened up the Makefile.PL output, less whitespace |
206 | |
6a20eacc |
207 | 1.39 |
208 | - fix from Craig Berry for better building in VMS with PERL_CORE |
209 | |
3f2ee006 |
210 | 1.38 |
211 | - no functional changes |
212 | - move lib/Time/HiRes.pm as Hires.pm |
213 | - libraries scanning was slightly broken (always scanned |
214 | for a library even when $Config{libs} already had it) |
215 | |
216 | 1.37 |
217 | - Ray Zimmerman ran into a race condition in Mac OS X. |
218 | A 0.01-second alarm fired before the test expected. |
219 | The test first slept indefinitely (blocking for signals) |
220 | and only after that tested for the signal having been sent. |
221 | Since the signal had already been sent, the test #12 never |
222 | completed. The solution: test first, then block. |
223 | - default to being silent on all probing attempts, set the |
224 | environment variable VERBOSE to a true value to see the |
225 | details (the probing command and the possible errors) |
226 | |
227 | 1.36 |
228 | - do not clear MAN3PODS in Makefile.PL (Radoslaw Zielinski) |
229 | - INSTALLDIRS => 'perl' missing which means that Time::HiRes |
230 | cannot be upgraded from CPAN to override the 5.8.0 version |
231 | (Guido A. Ostkamp) |
232 | - Time::HiRes 1.35 could not be dropped as-is to bleadperl |
233 | because the include directories did not adjust themselves |
234 | if $ENV{PERL_CORE} (Hugo van der Sanden) |
235 | - add documentation about the restart of select() under alarm() |
236 | |
237 | 1.35 |
238 | - small documentation tweaks |
239 | |
240 | |
241 | 1.34 |
242 | - better VMS operation (Craig Berry) |
243 | |
244 | 1.33 |
245 | - our time machine is accelerating: now works with Perl 5.004_01 |
246 | (tried with 5.003_07 and 5.002 but I get segmentation faults |
247 | from running the Makefile.PL with those in Tru64 4.0D) |
248 | |
249 | 1.32 |
250 | - backward compatibility (pre-5.6.0) tweaks: |
251 | - no XSLoader in 5.00503, use DynaLoader instead |
252 | - no SvPV_nolen, either |
253 | - no PerlProc_pause(), either |
254 | - now tested with 5.00404 and 5.00503 |
255 | - Makefile.PL requires 5.00404 (no more 5.002) |
256 | - use nanosleep instead of usleep, if it is available (Wilson Snyder) |
257 | (this means that one can mix subsecond sleeps with alarms) |
258 | - because of nanosleep we probe for -lrt and -lposix4 |
259 | - the existence of getitimer/nanosleep/setitimer/ualarm/usleep |
260 | is available by exportable constants Time::HiRes::d_func |
261 | (since older Perl do not have them in %Config, and even |
262 | 5.8.0 does not probe for nanosleep) |
263 | |
264 | 1.31 |
265 | - backward compatibility (pre-5.6.1) tweaks: |
266 | - define NV if no NVTYPE |
267 | - define IVdf if needed (note: the Devel::PPPort |
268 | in 5.8.0 does not try hard hard enough since |
269 | the IVSIZE might not be defined) |
270 | - define NVgf if needed |
271 | - grab the typemap from 5.8.0 for the NV stuff |
272 | 1.30 |
273 | |
274 | - release 1.29_02 as 1.30 |
275 | |
276 | 1.29_02 |
277 | |
278 | - fix a silly unclosed comment typo in HiRes.xs |
279 | - document and export REALTIME_REALPROF (Solaris) |
280 | |
281 | 1.29_01 |
282 | |
283 | - only getitimer(ITIMER_REAL) available in Cygwin and Win32 |
284 | (need to patch this also in Perl 5.[89]) |
285 | - remove CVS revision log from HiRes.xs |
286 | |
287 | 1.29_00 |
288 | |
289 | The following numbered patches refer to the Perl 5.7 changes, |
290 | you can browse them at http://public.activestate.com/cgi-bin/perlbrowse |
291 | |
292 | - 17558: Add #!./perl to the .t |
293 | - 17201: linux + usemorebits fix, from Rafael Garcia-Suarez |
294 | - 16198: political correctness, from Simon Cozens |
295 | - 15857: doc tweaks, from Jarkko Hietaniemi |
296 | - 15593: optimization in .xs, from Paul Green |
297 | - 14892: pod fixes, from Robin Barker |
298 | - 14100: VOS fixes, from Paul Green |
299 | - 13422: XS segfault, from Marc Lehmann |
300 | - 13378: whether select() gets restarted on signals, depends |
301 | - 13354: timing constraints, again, from Andy Dougherty |
302 | - 13278: can't do subecond alarms with ualarm; |
303 | break out early if alarms do not seem to be working |
304 | - 13266: test relaxation (cygwin gets lower hires |
305 | times than lores ones) |
306 | - 12846: protect against high load, from Jarkko Hietaniemi |
307 | - 12837: HiRes.t VMS tweak, from Craig A. Berry |
308 | - 12797: HiRes.t VMS tweak, from Charles Lane |
309 | - 12769: HiRes.t VMS tweak, from Craig A. Berry |
310 | - 12744: gcc vs MS 64-bit constant syntax, from Nick Ing-Simmons |
311 | - 12722: VMS ualarm for VMS without ualarm, from Charles Lane |
312 | - 12692: alarm() ain't gonna work if ualarm() ain't, |
313 | from Gurusamy Sarathy |
314 | - 12680: minor VMS tweak, from Charles Lane |
315 | - 12617: don't try to print ints as IVs, from Jarkko Hietaniemi |
316 | - 12609: croak on negative time, from Jarkko Hietaniemi |
317 | - 12595: Cygwin rounds up for time(), from Jarkko Hietaniemi |
318 | - 12594: MacOS Classic timeofday, from Chris Nandor |
319 | - 12473: allow for more than one second for sleep() and usleep() |
320 | - 12458: test tuning, relax timing constraints, |
321 | from Jarkko Hietaniemi |
322 | - 12449: make sleep() and usleep() to return the number |
323 | of seconds and microseconds actually slept (analogously |
324 | with the builtin sleep()), also make usleep() croak if |
325 | asked for more than 1_000_000 useconds, from Jarkko Hietaniemi |
326 | - 12366: Time::HiRes for VMS pre-7.0, from Charles Lane |
327 | - 12199: do not use ftime on Win32, from Gurusamy Sarathy |
328 | - 12196: use ftime() on Win32, from Artur Bergman |
329 | - 12184: fix Time::HiRes gettimeofday() on Win32, from Gurusamy Sarathy |
330 | - 12105: use GetSystemTime() on Win32, from Artur Bergman |
331 | - 12060: explain the 1e9 seconds problem, from Jarkko Hietaniemi |
332 | - 11901: UNICOS sloppy division, from Jarkko Hietaniemi |
333 | - 11797: problem in HiRes.t, from John P. Linderman |
334 | - 11414: prototype from Time::HiRes::sleep(), from Abhijit Menon-Sen |
335 | - 11409: Time::HiRes qw(sleep) failed, from Abhijit Menon-Sen |
336 | - 11270: dynix/ptx 4.5.2 hints fix, from Peter Prymmer |
337 | - 11032: VAX VMS s/div/lib\$ediv/ fix, from Peter Prymmer |
338 | - 11011: VAX VMS s/qdiv/div/ fix, from Peter Prymmer |
339 | - 10953: SCO OpenServer 5.0.5 requires an explicit -lc for usleep(), |
340 | from Jonathan Stowe |
341 | - 10942: MPE/IX test tweaks, from Mark Bixby |
342 | - 10784: unnecessary pod2man calls, from Andy Dougherty |
343 | - 10354: ext/ + -Wall, from Doug MacEachern |
344 | - 10320: fix the BOOT section to call myU2time correctly |
345 | - 10317: correct casting for AIX< from H. Merijn Brand |
346 | - 10119: document that the core time() may be rounding, not truncating |
347 | - 10118: test fix, from John Peacock |
348 | - 9988: long =item, from Robin Barker |
349 | - 9714: correct test output |
350 | - 9708: test also the scalar aspect of getitimer() |
351 | - 9705: Add interval timers (setitimer, getitimer) |
352 | - 9692: do not require at least 5.005 using XS |
353 | |
354 | The following changes were made on top of the changes |
355 | made for Time::HiRes during the Perl 5.7 development |
356 | cycle that culminated in the release of Perl 5.8.0. |
357 | |
358 | - add "require 5.005" to the Makefile.PL |
359 | - remove the REVISION section (CVS log) from HiRes.pm |
360 | - add jhi's copyright alongside Douglas' |
361 | - move HiRes.pm to lib/Time/ |
362 | - move HiRes.t to t/ |
363 | - modify HiRes.t to use $ENV{PERL_CORE} |
364 | - modify the original Time::HiRes version 1.20 Makefile.PL |
365 | to work both with Perl 5.8.0 and the new code with pre-5.8.0 |
366 | Perls (tried with 5.6.1) |
367 | - tiny tweaks and updates in README and TODO |
368 | - bump the VERSION to 1.29 |
369 | |
dcf686c9 |
370 | 1.20 Wed Feb 24 21:30 1999 |
371 | - make our usleep and ualarm substitutes into hrt_usleep |
372 | and hrt_ualarm. This helps static links of Perl with other |
373 | packages that also have usleep, etc. From |
374 | Ilya Zakharevich <ilya@math.ohio-state.edu> |
375 | - add C API stuff. From Joshua Pritikin |
376 | <joshua.pritikin@db.com> |
3f2ee006 |
377 | - VMS Makefile.PL fun. From pvhp@forte.com (Peter Prymmer) |
dcf686c9 |
378 | - hopefully correct "-lc" fix for SCO. |
379 | - add PPD stuff |
380 | |
381 | 1.19 Tue Sep 29 22:30 1998 |
382 | - put VMS gettimeofday() in. Patch is from Sebastian Bazley |
383 | <seb@stian.demon.co.uk> |
384 | - change GIMME_V to GIMME to help people with older versions of |
385 | Perl. |
386 | - fix Win32 version of gettimeofday(). It didn't affect anything, |
387 | but it confuses people reading the code when the return value |
388 | is backwards (0 is success). |
389 | - fix Makefile.PL (more) so that detection of gettimeofday is |
390 | more correct. |
391 | |
392 | 1.18 Mon Jul 6 22:40 1998 |
393 | - add usleep() for Win32. |
394 | - fix Makefile.PL to fix reported HP/UX feature where unresolved |
395 | externals still cause an executable to be generated (though no |
396 | x bit set). Thanks to David Kozinn for report and explanation. |
397 | Problems with the fix are mine :) |
398 | |
399 | 1.17 Wed Jul 1 20:10 1998 |
400 | - fix setitimer calls so microseconds is not more than 1000000. |
401 | Hp/UX 9 doesn't like that. Provided by Roland B Robert, PhD. |
3f2ee006 |
402 | - make Win32. We only get gettimeofday (the select hack doesn't |
dcf686c9 |
403 | seem to work on my Win95 system). |
3f2ee006 |
404 | - fix test 4 on 01test.t. add test to see if time() and |
dcf686c9 |
405 | Time::HiRes::time() are close. |
406 | |
407 | 1.16 Wed Nov 12 21:05 1997 |
408 | - add missing EXTEND in new gettimeofday scalar code. |
409 | |
410 | 1.15 Mon Nov 10 21:30 1997 |
411 | - HiRes.pm: update pod. Provided by Gisle Aas. |
412 | - HiRes.xs: if gettimeofday() called in scalar context, do |
413 | something more useful than before. Provided by Gisle Aas. |
414 | - README: tell of xsubpp '-nolinenumber' woes. thanks to |
415 | Edward Henigin <ed@texas.net> for pointing out the problem. |
416 | |
417 | 1.14 Wed Nov 5 9:40 1997 |
418 | - Makefile.PL: look for setitimer |
419 | - HiRes.xs: if missing ualarm, but we have setitimer, make up |
420 | our own setitimer. These were provided by Gisle Aas. |
421 | |
422 | 1.13 Tue Nov 4 23:30 1997 |
423 | - Makefile.PL: fix autodetect mechanism to do try linking in addition |
424 | to just compiling; should fix Linux build problem. Fix was provided |
425 | by Gisle Aas. |
426 | |
427 | 1.12 Sun Oct 12 12:00:00 1997 |
428 | - Makefile.PL: set XSOPT to '-nolinenumbers' to work around xsubpp bug; |
429 | you may need to comment this back out if you have an older xsubpp. |
430 | - HiRes.xs: set PROTOTYPES: DISABLE |
431 | |
432 | 1.11 Fri Sep 05 16:00:00 1997 |
433 | - Makefile.PL: |
434 | Had some line commented out that shouldn't have been (testing |
435 | remnants) |
436 | - README: |
437 | Previous version was corrupted. |
438 | |
439 | 1.10 Thu May 22 20:20:00 1997 |
440 | - HiRes.xs, HiRes.pm, t/*: |
441 | - only compile what we have OS support for (or can |
442 | fake with select()) |
443 | - only test what we compiled |
444 | - gross improvement to the test suite |
445 | - fix EXPORT_FAIL. |
446 | This work was all done by Roderick Schertler |
447 | <roderick@argon.org>. If you run Linux or |
448 | one of the other ualarm-less platoforms, and you like this |
449 | module, let Roderick know; without him, it still wouldn't |
450 | be working on those boxes... |
451 | - Makefile.PL: figure out what routines the OS has and |
452 | only build what we need. These bits were written by Jarkko |
453 | Hietaniemi <jhi@iki.fi>. Again, gratitude is due... |
454 | |
455 | 1.02 Mon Dec 30 08:00:00 1996 |
456 | - HiRes.pm: update documentation to say what to do when missing |
457 | ualarm() and friends. |
458 | - README: update to warn that ualarm() and friends need to exist |
459 | |
460 | 1.01 Fri Oct 17 08:00:00 1996 |
461 | - Makefile.PL: make XSPROTOARGS => '-noprototyopes' |
462 | - HiRes.pm: put blank line between __END__ and =head1 so that |
463 | pod2man works. |
464 | |
465 | 1.00 Tue Sep 03 13:00:00 1996 |
466 | - original version; created by h2xs 1.16 |