Download TWiki Release 4.2.0

With the hard slog done, we’ve managed to release TWiki 4.2.0.

I will be updating and releasing the TWiki Installers, the TWiki debian package and the OpenID contrib in the next month (I need a little time to recover from the final release rush)

We’re looking forward to setting up the new release on the new Servers that were donated by Sun to the TWiki project – it’ll be fun using the DTrace probes to make TWiki faster for everyone before we start the new features for TWiki 5.0.

Perl DTrace load-module probe added – see what module is ‘do’, ‘use’ or ‘require’d

With the load-module probe, you can see at what point modules are loaded using ‘do’, ‘use’ or ‘require’.

The following code:

#!/usr/local/bin/perl -w

use strict;

my $initial = "there once was a fish. Its feet were small";
my $post = func($initial);
my $post2 = func($initial);
print "$post\n";

do '';
#eval `cat`;
#use CGI::Session;

sub func {
    $_[0] =~ s/there/There/;
    return $_[0];

produces the following output:

 == ==========================================================
  perl*::perl_alloc:main-exit,  (0/0) (56 uS)
  perl*::perl_construct:main-exit,  (12/0) (624 uS)
>>>>>>>>>> perl*::Perl_utilize:load-module-start (strict)
>>>>>>>>>> perl*::Perl_ck_require:load-module-start (strict)
<<<<<<<<<< perl*::Perl_ck_require:load-module-end ( (3 uS)
>>>>>>>>>> perl*::Perl_ck_require:load-module-start (Carp)
<<<<<<<<<< perl*::Perl_ck_require:load-module-end ( (2 uS)
>>>>>>>>>> perl*::Perl_dofile:load-module-start (
<<<<<<<<<< perl*::Perl_dofile:load-module-end ( (3 uS)
  perl*::perl_parse:main-exit,  (299/46) (3069 uS)
>>>>>>>>>> perl*::Perl_utilize:load-module-start (strict)
>>>>>>>>>> perl*::Perl_ck_require:load-module-start (strict)
<<<<<<<<<< perl*::Perl_ck_require:load-module-end ( (3 uS)
  perl*::perl_run:main-exit,  (69/45) (533 uS)
  perl*::perl_destruct:main-exit,  (0/3) (24 uS)

see my perl5.8 trac for the code -or grab the modified 5.8.8 source from svn

the  perl*::Perl_utilize:load-module-end probe is currently being worked on, and I really would like to see the actual parse component of the load separated out.