The exec summary is:
$ dumbbench perl test1.pl
cmd: Ran 21 iterations (1 outliers).
cmd: Rounded run time per iteration: 2.0408e-02 +/- 3.6e-05 (0.2%)
$ dumbbench perl test2.pl
cmd: Ran 22 iterations (2 outliers).
cmd: Rounded run time per iteration: 1.5050e-02 +/- 6.9e-05 (0.5%)
So Class::Method::Modifiers seems 30% faster. I'm guessing that this is the result of not having the subroutine overhead call on every invocation. Am I right? How does this work?
Following our initial trial
here's another one.
We've attended to the changes suggested from the last release (better
changelog and CI integration) and we've also attracted some positive attention
from the relevant authorities.
We're still looking for sponsorship to have DBD::Oracle work continue beyond
this driveby. If you are interested, or know someone who's interested in
chucking some cash into the pot, the best route is probably to contact me (kd)
on irc.perl.org or via my cpan email address, zarquon [at] cpan.org
tl;dr: If you care about DBD::Oracle at all please test this unauthorised trial
I've tried to make this blog post copy/pastable as valid perl and valid markdown. So with luck it can be copy/pasted into an editor if you want to use this.
Confluence. I don't really like it, but the major thing it's got going for it is that it's not Sharepoint. As I am spending the summer holidays doing some documentation at work, one of the things I wanted to do was to make confluence less hateful. So I cracked open the REST API to see how far I could get.
There used to be good tools, but atlassian got rid of the XMLRPC API not that long ago.
Progress I made was:
- Got a list of all spaces, and all pages in each space.
- Worked out how to obtain the content of a page.
- Worked out how to change the content of a page (for when the time comes).
Where I got stuck:
- Working out how to round-trip the confluence markup to/from markdown.
The rest of this post describes the script I put together. It's not useful enough for me to put on the CPAN but it's worth putting up somewhere.
10:26 < kd> me: "how do I integrate the REST API with our psgi/mod_perl abomination?"
10:26 < kd> colleague: "aah I've been wanting to do that for a while, do you really need it?"
10:26 < kd> me: "yeah it would be good"
10:26 < kd> [waits two days]
10:26 < kd> colleague: "here, have a code review"
10:29 < kd> meanwhile it gave me the opportunity to prototype an important thing via a semi-abomination that would never be acceptable in production. So 1. We got a feature we really needed, and ensures the longevity of the platform, and 2. I got to do the important thing of getting my thing wrong on the first try.