acme's Friends' Journals acme's Friends' use Perl Journals en-us use Perl; is Copyright 1998-2006, Chris Nandor. Stories, comments, journals, and other submissions posted on use Perl; are Copyright their respective owners. 2012-01-25T02:00:23+00:00 pudge Technology hourly 1 1970-01-01T00:00+00:00 acme's Friends' Journals use Perl; Shutting Down Indefinitely <p>See <a href="">here</a>.</p> pudge 2010-09-08T22:07:47+00:00 useperl use Perl; <p>I am no longer working for Slashdot/Geeknet as of September 30. I am actively seeking new employment. Unless you want to hire me, you don't need to care, unless you also care about <a href="">use Perl;</a>, because it has been generously hosted by Geeknet since I started the site over 10 years ago, shortly after I was hired by Andover.Net to work on Slashdot.</p><p>Long story short, I have not done much with the site in recent years, so my options at this point are to do nothing; migrate the site to a new server and keep it running as-is; or take the data and do something with it on a new site. Or something I haven't thought of.</p><p>I am hereby accepting proposals for what to do with use Perl;. In short, I would like to donate it to someone who will give it a good home. If you're interested, give me your best pitch.</p><p>Cross-posted on <a href="">&lt;pudge/*&gt;</a>.</p> pudge 2010-08-11T23:34:11+00:00 journal Matt Trout, aka mst, is insane <p>Wow. I occasionally, but not too often, go into #perl. Very busy with family and life. So I go in today, and for no reason, <a href="">mst</a> bans me and tells me to not come back.</p><p>What's up with him being such an irrational dick?</p> pudge 2010-08-11T16:41:54+00:00 journal Summary of Celtics vs. Lakers NBA Finals History <p>There have been 60 NBA Finals. The Boston Celtics have won 17, and the Minneapolis/Los Angeles Lakers have won 15, which amounts to those teams winning more than half of all NBA Finals. This year, they play each other in the Finals again, making it 33 champions out of 61 being either the Lakers or the Celtics.</p><p>Additionally, 39 of the 61 Finals have included either the Lakers or the Celtics. Including this year, the Celtics and Lakers have played each other in the Finals a whopping 12 times (just under one-fifth of all Finals have been these two teams).</p><p>The Celtics have made 21 total Finals appearances, so have faced the Lakers more than half of the times they've been in the Finals. The Lakers have made 30 Finals appearances, facing the Celtics in two-fifths of those.</p><p>The Celtics won nine of those against the Lakers, which accounts for more than half of all their 17 championships. The Lakers' two victories over the Celtics came after the Celtics won their first eight encounters.</p><p>The longest streak without either team in the Finals was eight years from '92-'99. The longest streak <b>with</b> either the Lakers or Celtics in the Finals was 10 years, done twice (from '57-'66, in which the Celtics appears all 10 years, and the Lakers five of those; and '80-'89, in which the Lakers appeared eight times, the Celtics five).</p><p>The longest streak for one team appearing in the Finals was, as noted, Boston, in the 10 years from '57-'66. Boston won nine of those 10 years, including eight in a row (the longest winning streak from any one team) from '59-'66, and also won 10 in 12 years, from '57-'69.</p><p>The Lakers' longest appearance streak is "only" four, from '82-'85, winning twice; but they have also appeared three times in a row five additional times (including the current three-year streak). In two of those, they won all three years; in one, they lost all three.</p><p>The only other team to "threepeat" was the Bulls, winning three years in a row twice in eight years ('91-'98). No other team but the Celtics and Lakers have had four consecutive appearances. The only other team to have three consecutive appearances was the Knicks, losing all three from '51-'53.</p><p>The 2010 NBA Finals begin in Los Angeles on Thursday.</p><p>Cross-posted on <a href="">&lt;pudge/*&gt;</a>.</p> pudge 2010-05-30T05:25:50+00:00 journal Unique <p>I wonder how long it will be before people start just putting together random letters for names of companies, bands, and so on, so they can be unique in Google searches.</p><blockquote><div><p>Your search - fobhwueufg8 - did not match any documents.</p></div></blockquote><p>^^ my new band name</p><p>(Hm, "Did Not Match Any Documents" would be a fun band name. Or the name of the debut album of the band fobhwueufg8.)</p><p>Cross-posted on <a href="">&lt;pudge/*&gt;</a>.</p> pudge 2010-04-26T17:45:28+00:00 journal My Slashroulette Videos <p>Today Slashdot did a spoof of Chatroulette, that we called Slashroulette. We prerecorded videos of ourselves and others. Here's five of the six I did (the sixth was me tuning the guitar, I didn't post that one on YouTube): <a href="">video 1</a>, <a href="">video 2</a>, <a href="">video 3</a>, <a href="">video 4</a>, <a href="">video 5</a>.</p><p>Cross-posted on <a href="">&lt;pudge/*&gt;</a>.</p> pudge 2010-04-02T05:15:16+00:00 journal My Netgear Router is Dumber Than It Thinks It Is <p>I upgraded the firmware on my Netgear router today and it wouldn't let me use the LAN IP I usually use for it,, because it thinks my ISP uses that subnet, because I set the router to read from my own internal DNS. Took me awhile to figure out <b>why</b> it thought what it did, because it didn't occur to me that it would care what DNS addresses I gave it.</p><p>Cross-posted on <a href="">&lt;pudge/*&gt;</a>.</p> pudge 2010-02-07T02:09:27+00:00 journal Franchise Tag Whiners <p>There's a long line of players in the NFL who claim that it is a personal offense when their teams place the franchise tag on them.</p><p>These players are big fat babies.</p><p>The players agreed to the franchise tag for the owners, as a compromise. The players take advantage of everything available to them under the contract; why shouldn't the owners do the same?</p><p>Stop crying. Stop whining. Sure, you don't like it, but so what? Grow up. Those are the rules that you agreed to.</p> pudge 2010-01-30T18:52:27+00:00 journal ah, dreams... <p>I just woke from a dream where it was rjbs' birthday and we got him an onion cake. Only the person who made the cake misunderstood, and instead of a cake shaped like an onion he cooked it WITH onions in it.</p><p>Bizarro.</p> Matts 2010-01-26T10:31:17+00:00 journal Time::Piece test failures on Win32 <p>Can someone with Time::Piece test failures on Win32 please contact me offlist? I have a proposed patch I'd like to test, but no Win32 perl to test it on.</p> Matts 2010-01-25T23:23:53+00:00 journal Moving 32-bit Intel Perl to Mac OS X 10.6 <p>Dear Google,</p><p>When you move a 32-bit x86 perl installation to a 64-bit Mac OS X 10.6 environment, you should edit $ARCH/ and add "-arch i386" to lddlflags, ldflags, and ccflags. The compiler and tools in Mac OS X 10.6 assume 64 bits unless you explicitly tell it otherwise, but some 32-bit installs don't bother putting in an -arch flag, because at the time it wasn't necessary.</p><p>Cross-posted on <a href="">&lt;pudge/*&gt;</a>.</p> pudge 2010-01-12T17:39:58+00:00 journal Warning compiling perl stuff on Snow Leopard <p>I've searched but can't find any reference to this...</p><p>Compiling IO::KQueue on Snow Leopard I get the following warning:</p><blockquote><div><p> <tt>KQueue.xs: In function 'XS_IO__KQueue_kevent':<br>KQueue.xs:71: warning: format not a string literal and no format arguments</tt></p></div> </blockquote><p>Yet that line is just:</p><blockquote><div><p> <tt>&nbsp; &nbsp; Newxz(ke, max_events, struct kevent);</tt></p></div> </blockquote><p>Which seems to me pretty standard perl, and no format strings involved (though Newxz expands quite a few macros).</p> Matts 2010-01-04T22:13:57+00:00 journal Apaches Hanging <p>When I try to print high-bit data to STDERR from mod_perl 1.x and perl 5.10.0 -- sometimes, not always -- the process hangs and sucks up 100% CPU. I wonder if updating perl to 5.10.1 might help.</p><p>Cross-posted on <a href="">&lt;pudge/*&gt;</a>.</p> pudge 2009-10-16T22:30:03+00:00 journal DirecTV, Versus, Center Ice Update <p>We called up DirecTV to complain about a lack of Versus (which means I don't get all the Bruins games, even though I purchased Center Ice) and they refunded $50 to my account, and gave me the sports pack (including NESN) for six months for free.</p><p>I still want Versus though.</p><p>Cross-posted on <a href="">&lt;pudge/*&gt;</a>.</p> pudge 2009-10-06T22:54:09+00:00 journal Mac-Carbon-0.82 Released <p>Mac-Carbon-0.82 has been released. Download it from <a href="">the CPAN</a> or <a href=""></a>.</p><p>(Note: it may take time for the release to propagate to the various download mirrors.)<br>Changes:</p><blockquote><div><p> <tt>* v0.82, 4 October 2009<br> &nbsp; <br>&nbsp; More Makefile.PL fixes.&nbsp; Try to catch 64-bit-only perls.&nbsp; Fix bug introduced<br>&nbsp; in 0.81 for older gcc 4's.</tt></p></div> </blockquote><p> <em>Posted using <a href="">release</a> by brian d foy.</em></p> pudge 2009-10-06T04:50:41+00:00 journal Mac-Carbon 0.81 Released <p>Mac-Carbon-0.81 has been released. Download it from <a href="">the CPAN</a>.</p><p>(Note: it may take time for the release to propagate to the various download mirrors.)</p><p>Changes:</p><blockquote><div><p> <tt>* v0.81, 26 September 2009<br> &nbsp; <br>&nbsp; Fixes for building on 64-bit perls and Mac OS X 10.6.&nbsp; Build should now work<br>&nbsp; on any perl, whether self-built or system perl (unless your perl is 64-bit<br>&nbsp; only), and tests should run under 32-bit mode.<br> &nbsp; <br>&nbsp; Other miscellaneous test fixes.</tt></p></div> </blockquote> pudge 2009-09-27T05:25:09+00:00 journal Mac-Carbon Makefile.PL 64-bit Check <p>I should add a check for 64-bit mode to the Mac-Carbon Makefile.PL. This will save a lot of hassle if I can give a nice error message, with a link to more information, up front.</p><p>I can't test this easily, though, since I don't yet have a 10.6 64-bit box (it's only on an original MacBook Pro, which is 32 bits). I will upgrade to Snow Leopard soon. I could try to make my own perl before then, but I don't know it would work the same way. So. If you want to help, now's your chance!</p><p>First thought is Config, but we all know Config can be flaky. For example, on my 32-bit box:</p><blockquote><div><p> <tt>$ perl -V:use64bitall<br>use64bitall='define';</tt></p></div> </blockquote><p>Doesn't really help. I don't know if <tt>$Config{intsize}</tt> would be <tt>8</tt> on a 64-bit perl. It's <tt>4</tt> on this 10.6 32-bit perl. I do know you should be able to call perl with <tt>VERSIONER_PERL_PREFER_32_BIT=yes</tt> to give you 32-bit perl, instead of the default 64-bit perl.</p><p>So anyway<nobr> <wbr></nobr>... if you can figure out a way to know, under 10.6 stock perl, if I am running under 32-bit perl or 64-bit perl, let me know.</p> pudge 2009-09-17T18:01:27+00:00 journal Mac-Carbon, and Related Things <p>Please do test the aforementioned Mac-Carbon-0.80, and report it on <a href="">RT</a> if there's a problem. Please note that <a href="">you MUST build under 32-bit mode</a>, which is especially important if you are using the standard perl that comes with Mac OS X 10.6.</p><p>I've also got new versions of Mac::AppleEvents::Simple, Mac::OSA::Simple, and Mac::Glue coming out soon. I want to get Mac-Carbon well-tested out there first, though.</p> pudge 2009-09-17T15:14:56+00:00 journal Mac-Carbon 0.80 Released <p>Mac-Carbon-0.80 has been released. Download it from <a href="">the CPAN</a>.</p><p>(Note: it may take time for the release to propagate to the various download mirrors.)</p><p>Changes:</p><blockquote><div><p> <tt>* v0.80, 16 September 2009<br> &nbsp; <br>&nbsp; Add notes for 64-bit perl<br> &nbsp; <br>&nbsp; Bump all the version numbers<br> &nbsp; <br>&nbsp; Fix a bunch of tests (nothing major, just make them work better)<br> &nbsp; <br>&nbsp; Fix sound-env-var checking code for tests (no more sound tests<br>&nbsp; unless you ask for them with MAC_CARBON_SOUND, which was in the<br>&nbsp; last version, but the logic was broken)<br> &nbsp; <br>&nbsp; Make CFStringRef typemap better<br> &nbsp; <br>&nbsp; Remove high-bit characters from source files<br> &nbsp; <br>&nbsp; Add new system version gestalt constants<br> &nbsp; <br>&nbsp; Fix leak in Mac::Processes and Mac::Speech</tt></p></div> </blockquote> pudge 2009-09-17T07:19:21+00:00 journal Mac-Carbon Modules and Mac OS X 10.6 <p>The default perl for Mac OS X 10.6 runs in 64-bit mode by default. The problem for <a href="">Mac-Carbon</a> is that significant portions of the Carbon API are unavailable to 64-bit programs on Mac OS X.</p><p>Perhaps a subset of the API could be made available to a 64-bit perl (for more information see Apple's "<a href="">64-Bit Guide for Carbon Developers</a>"), and might in the future, but it's simpler at this point to just run perl in 32-bit mode.</p><p>There's a few ways to do this. Most obviously, you could simply build a 32-bit perl. I always build my own perl, and I just compile it for 32 bits.</p><p>There's also two methods mentioned in L under Mac OS X 10.6: you can set an environment variable, or set a system preference. For the environment use:</p><blockquote><div><p> <tt>VERSIONER_PERL_PREFER_32_BIT=yes</tt></p></div> </blockquote><p>And for the system preference, execute this line in your terminal:</p><blockquote><div><p> <tt>defaults write Prefer-32-Bit -bool yes</tt></p></div> </blockquote><p>Cross-posted on <a href="">&lt;pudge/*&gt;</a>.</p> pudge 2009-09-08T05:54:34+00:00 journal Happy Labor Day <p>I plowed through a bunch of bugs for Mac-Carbon today. And I found an unfixed endian bug in Mac::Glue.</p><p>And I did it without the help of a union!</p><p>I hope to get this work done before September 9th, after which my time will belong to The Beatles Rock Band for awhile. I might not release by then, but the bulk of the work should be there.</p><p>Thanks to everyone who filed reports, and their subsequent patience. I've gone through the process many open source developers before me have<nobr> <wbr></nobr>... as we get older and have more obligations, some of our public release work slows down. A lot. Thankfully most of the bugs are pretty superficial; unfortunately, being related to tests, they will prevented some people from getting the code installed.</p><p>I've promised myself I won't waste my time feeling guilty about it, but I apologize for the inconvenience.</p><p>(And no, Mac-Carbon won't work on 64-bit perl, but I will document the reasons why, and various workarounds.)</p><p>Cross-posted on <a href="">&lt;pudge/*&gt;</a>.</p> pudge 2009-09-07T15:01:43+00:00 journal Pudge's Picks 2009 <p>Please, if you wish, go to join Pudge's Picks for 2009, <a href="">hosted on</a></p><p>After logging in (create a new login if you don't have one), create an entry (each user can have one to three entries).</p><p>Then for each entry, click Join a Group. Type in "Pudge's Picks" in the search field, then click on Pudge's Picks when it shows up in the list. You can also go directly <a href="">to the group page</a>, instead.</p><p>The password to join is "longhorn."</p><p>Invite others, if you wish.</p><p>Cross-posted on <a href="">&lt;pudge/*&gt;</a>.</p> pudge 2009-08-23T01:42:32+00:00 journal iPhone Hacking <p>I got me a used iPhone. In playing with it, I installed <a href="">PCalc Lite</a>, as I am a longtime fan of PCalc (and <a href="">DragThing</a>, by the same author, James Thomson). I liked it and so I got the <a href="">full PCalc</a>, which has a lot more features, including a bunch of different themes.</p><p>Getting into hacking the iPhone, I thought I'd try to make a theme. You can't do this, I suppose, for now, unless you jailbreak the iPhone, as the themes are stored in the app and that breaks Apple's code signature stuff. But the same themes work on PCalc for the Mac, too. So I gave it a shot. Without further ado, my <a href="">Slashdot theme for PCalc</a>. You can also download the <a href="">theme archive</a> itself. Not sure why you'd want to, unless you're me, though.</p><p><a href=""> </a></p><p>I also have been playing a lot of <a href="">Quordy</a> and <a href="">Muddled</a>, two word games from <a href="">Lonely Star Software.</a> A friend of mine from college wrote Muddled. And I wrote a <a href="">Perl program</a> that solves both games. Both use a dictionary (I grabbed 'words.sql', a DBLite file, from the Quordy bundle, after uncompressing the ZIP file with the<nobr> <wbr></nobr>.ipa extension). You just enter the letters you have available to you (in order from left to right, top to bottom for Quordy), pick the dictionary options and the game you're playing, and run it.</p><p>Cross-posted on <a href="">&lt;pudge/*&gt;</a>.</p> pudge 2009-08-19T22:08:27+00:00 journal F***ing Steve Ballmer <p>It's been one year since I was <a href="">F***ing Steve Ballmer</a>. (You can <a href="">download the audio files too, including the GarageBand file</a>.)</p> pudge 2009-06-22T16:49:09+00:00 journal Apple Cats <p>Am I the only one who has trouble remember which Apple OS is represented by which cat? I don't even always remember that 10.5 is Leopard. Apple says "Snow Leopard" is building on the "Leopard" brand, but to me there is no "Leopard" brand.</p> pudge 2009-06-09T16:41:31+00:00 journal Anybody Wanna a Peanut? <p>I am selling a brand new, unopened, <a href=";cl=US,EN">Logitech Driving Force GT steering wheel</a> and a mostly new set of all five seasons of Babylon 5 on DVD.</p><p>As to the latter, it is "mostly new" because it was a replacement set because one of my discs -- the first disc in Season 5 -- was scratched. Amazon apparently didn't want the set back. It's been sitting in a corner of my closet since last year. It's in completely new condition except for that disc.</p><p>As to the former, I won it in the Logitech Challenge and I already have that wheel, so I figure I'll sell it.</p><p>If you're interested in either let me know.</p> pudge 2009-06-02T01:41:29+00:00 journal Early Komodo Edit review <p>Recently I started using Komodo Edit (the free version of Komodo IDE). This is an early review, of having used it for my work for about a week, which isn't really enough to know whether I'll be sticking with it, but it's a good start. I started to get a bit tired of the limitations of TextMate - an editor I like, and paid for, but the v2 which they keep hinting at seems to never be coming, and it has some short-falls which I find very annoying.</p><p>ActiveState actually asked me to do a review of Komodo IDE a while ago and I never got around to it, so I never got a free license key from them. Maybe they'll read this<nobr> <wbr></nobr>;-)</p><p>This review is of using it on my MacBook (non-pro) 2.4Ghz, 4GB Ram.</p><p>The Good<br>========</p><p>Generally it has everything I'm looking for:</p><p>- all documents in tabs<br>- mostly the right keystrokes for everything (i.e. it's not VI or Emacs, though I believe it has vi emulation for the die-hards) - I only had to fix Cmd-[ and Cmd-] for indent/deindent.<br>- open over scp/sftp.<br>- syntax highlighting seems to just work (haven't found any flaws yet, though Perl can be tricky that way!).<br>- shows line numbers, folds, etc in a nice way<br>- autoindent mostly works well<br>- macros in Javascript/Python make it VERY flexible<br>- "show current file changes" (before you save) is an AWESOME feature, and loads them into the proper "diff" window<br>- macros even allow you to access that diff window, so writing some macros to access our version control system (AccuRev - don't ask!) was relatively straightforward for a non-Javascript coder like myself<br>- macro output looks like it'll be easy enough to write a Prove/ runner</p><p>The Missing<br>===========</p><p>There are always things missing in editors, usually things I've experienced elsewhere that I'd love to see replicated:</p><p>- I *love* textmate's ability to re-indent code when I paste it in, at the correct current level.<br>- I wish open over sftp would allow me to open a whole directory (i.e. treat it like a temporary project)<br>- I wish I could open a directory instead of have to create a project.<br>- I wish tabs would double over instead of flow off the side (as an option) as I tend to keep a lot of files open<br>- I wish the project pane would highlight the current file/tab instead of the last file I double clicked on<br>- Documentation of the macro stuff is a bit weak, though the forums are good for help on this (I haven't posted, but the search has helped a lot, and most posts seem to get a reply).</p><p>The Buggy/Broken Bits<br>=====================</p><p>- There's sometimes an oddness with macros - sometimes I edit them and the edits don't "take" - restarting fixes this.<br>- Can be a TINY bit slow. I'm on a fast mac, so I suspect this would be much worse on my G4 laptop.<br>- The find options seem a bit odd to me - there's multiple locations for "find" - in the toolbar and in a separate window, be nice if it were unified and accessible with Cmd-F<br>- Open over sftp seemed a bit fragile and has hung on me once</p><p>Overall though, I like it. I'm not really sure what Komodo IDE could add over and above this, I suspect it'll just come with a lot of cool plugins and macros that do clever things...</p><p>I'll maybe post more on this if I keep using it.</p> Matts 2009-06-02T00:05:35+00:00 journal I'm Off <p>For pretty much the same reasons that you've heard from many other people, I've decided to take my Perl blogging elsewhere.</p><p>You'll find me over at <a href="">Perl Hacks</a>.</p> davorg 2009-05-18T20:07:54+00:00 journal YAPC::Europe Talk Proposals <p>The CFP for this year's <a href="">YAPC::Europe</a> closed yesterday. Usually this means I have a frantic couple of hours rushing around proposing (semi-)random talks. This year I've been a bit more organised and have been proposing talks as they have occured to me. The upside of this is that I have confidence that they will all be interesting talks. The downside is that I've proposed more talks than ever before. I hope the organisers don't select all of them (I'd like to see <i>some</i> of the conference) but I've given them lots of choice<nobr> <wbr></nobr>:-)</p><p>There are a couple of talks based on the conference's theme of "Corporate Perl".</p><ul> <li> <b>Why Corporates Hate Perl</b> <br>This will be loosely based on my <a href="">blog post</a> from lst year - but I've got lots of other things to add based on the feedback I received. This is, at least partly, a sequel to <a href="">Programming Languages and Perl</a> and <a href="">Proud to Use Perl</a>.</li><li> <b>Why do so many companies re-invent well-known CPAN modules badly and end up writing far too much code?</b> <br>I was going to give this talk at a recent technical meeting, but was ill and was unable to present it. The title pretty much describes what I'll cover.</li></ul><p>There's a talk following up on something I spoke about last year in Copenhagen.</p><ul> <li> <b>Perl in RPM-Land (The Return)</b> <br>Last year I talked about <a href="">building RPMs</a> of CPAN modules and suggested that we could do this automatically for a large percentage of modules. This is conference-driven development. If this talk is chosen then I'll have to make a start on the project.</li></ul><p>And there's a talk about a project that I'm currently pretty enthused about.</p><ul> <li> <b>The Planetarium</b> <br>This is about using Perl to aggregate web feeds. In particular I'm trying to build sites that are useful tools for building local communities. It's not really on-topic for the conference, but I think it's interesting.</li></ul><p>So now it's just a case of seeing which ones the conference organisers choose. Does anyone know when that will be announced?</p><p> <b>Update:</b> They chose <a href="">Why do so many companies re-invent well-known CPAN modules badly and end up writing far too much code?</a> and <a href="">The Planetarium</a>.</p><p>I'll see you in Lisbon.</p> davorg 2009-05-01T10:58:39+00:00 journal Perl on LLVM <p>There was recently <a href="">some talk</a> on p5p about getting perl up and running on the <a href="">LLVM</a>. This was following the recent excitement from the Python crowd about the <a href="">Unladen Swallow</a> project, and less so, the <a href="">MacRuby Experimental Branch</a>.</p><p>So following that post I decided to see how easy/hard it was to get to the first stage - getting perl compiled and running with clang, the llvm gcc-like compiler.</p><p>It wasn't too hard (a lot of <a href="">compiling</a>). After I got everything running I first ran perlbench, which looked reasonably promising:</p><blockquote><div><p> <tt>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gcc&nbsp; &nbsp; llvm<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;---&nbsp; &nbsp; ----<br>arith/mixed&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 100&nbsp; &nbsp; &nbsp; 86<br>arith/trig&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;100&nbsp; &nbsp; &nbsp; 86<br>array/copy&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;100&nbsp; &nbsp; &nbsp;101<br>array/foreach&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 100&nbsp; &nbsp; &nbsp; 92<br>array/index&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 100&nbsp; &nbsp; &nbsp; 93<br>array/pop&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 100&nbsp; &nbsp; &nbsp; 96<br>array/shift&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 100&nbsp; &nbsp; &nbsp; 95<br>array/sort-num&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;100&nbsp; &nbsp; &nbsp; 89<br>array/sort&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;100&nbsp; &nbsp; &nbsp;101<br>call/0arg&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 100&nbsp; &nbsp; &nbsp;102<br>call/1arg&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 100&nbsp; &nbsp; &nbsp; 89<br>call/2arg&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 100&nbsp; &nbsp; &nbsp; 75<br>call/9arg&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 100&nbsp; &nbsp; &nbsp; 89<br>call/empty&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;100&nbsp; &nbsp; &nbsp; 87<br>call/fib&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;100&nbsp; &nbsp; &nbsp; 90<br>call/method&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 100&nbsp; &nbsp; &nbsp; 98<br>call/wantarray&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;100&nbsp; &nbsp; &nbsp; 89<br>hash/copy&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 100&nbsp; &nbsp; &nbsp; 95<br>hash/each&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 100&nbsp; &nbsp; &nbsp; 94<br>hash/foreach-sort&nbsp; &nbsp; &nbsp; &nbsp; 100&nbsp; &nbsp; &nbsp; 97<br>hash/foreach&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;100&nbsp; &nbsp; &nbsp; 91<br>hash/get&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;100&nbsp; &nbsp; &nbsp; 91<br>hash/set&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;100&nbsp; &nbsp; &nbsp; 89<br>loop/for-c&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;100&nbsp; &nbsp; &nbsp; 86<br>loop/for-range-const&nbsp; &nbsp; &nbsp;100&nbsp; &nbsp; &nbsp;111<br>loop/for-range&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;100&nbsp; &nbsp; &nbsp;116<br>loop/getline&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;100&nbsp; &nbsp; &nbsp; 96<br>loop/while-my&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 100&nbsp; &nbsp; &nbsp; 94<br>loop/while&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;100&nbsp; &nbsp; &nbsp; 96<br>re/const&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;100&nbsp; &nbsp; &nbsp; 86<br>re/w&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;100&nbsp; &nbsp; &nbsp; 89<br>startup/fewmod&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;100&nbsp; &nbsp; &nbsp; 95<br>startup/lotsofsub&nbsp; &nbsp; &nbsp; &nbsp; 100&nbsp; &nbsp; &nbsp; 93<br>startup/noprog&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;100&nbsp; &nbsp; &nbsp;101<br>string/base64&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 100&nbsp; &nbsp; &nbsp; 89<br>string/htmlparser&nbsp; &nbsp; &nbsp; &nbsp; 100&nbsp; &nbsp; &nbsp; 92<br>string/index-const&nbsp; &nbsp; &nbsp; &nbsp;100&nbsp; &nbsp; &nbsp; 81<br>string/index-var&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;100&nbsp; &nbsp; &nbsp;108<br>string/ipol&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 100&nbsp; &nbsp; &nbsp;103<br>string/tr&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 100&nbsp; &nbsp; &nbsp; 86<br> &nbsp; <br>AVERAGE&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 100&nbsp; &nbsp; &nbsp; 93</tt></p></div> </blockquote><p>So next step was to try some more real-world code. I took 41k non-spam mails and ran SpamAssassin on them (using the mass-check tool), with no network tests enabled, and a HTML::Parser also compiled with LLVM (and gcc, in the gcc instance).</p><p>Results of the timings:</p><blockquote><div><p> <tt>GCC:<br> &nbsp; <br>real&nbsp; &nbsp; 40m56.599s<br>user&nbsp; &nbsp; 64m44.586s<br>sys&nbsp; &nbsp; 0m59.644s<br> &nbsp; <br>LLVM:<br> &nbsp; <br>real&nbsp; &nbsp; 45m38.831s<br>user&nbsp; &nbsp; 71m14.218s<br>sys&nbsp; &nbsp; 1m20.882s</tt></p></div> </blockquote><p>So rather less promising.</p><p>Still, an interesting start - see the original link for information on where it needs to go from here. I think this might have a lot of mileage if the actual internals were ported to LLVM style code. If someone is interested in picking up this project, and maybe being paid for it, please get in touch.</p> Matts 2009-04-09T17:57:03+00:00 journal