user-pic

Reini Urban

  • Website: rurban.xarch.at/
  • About: Working at cPanel on B::C (the perl-compiler), p2, types, parrot, B::Generate, cygwin perl and more guts (LLVM, jit, optimizations).
  • Posted How I made my core testsuite 2x faster to Reini Urban

    There is more than one way to make perl5 twice as fast, but this is what I did today. I fixed it on one machine.

    My Macbook Air gives constantly better results in my hash function benchmarks than my big Linux Desktop PC, because it ha…

  • Commented on [BREAKING] [GPW 2015] German train drivers' union calls 5-day strike starting Tuesday
    The other option, bus, is by far cheaper (e.g. 7 Euro from Berlin, 22 from Munich) and faster, so it's not that dramatic. See https://shop.flixbus.com/...
  • Commented on On Dave Mitchell calling B and B::C a failed experiment
    This is not a personal attack. It is a defense against public attacks against your core infrastructure. I'm naming the two bad apples here, because they are the only ones who started the personal attacks so far, which led to...
  • Posted On Dave Mitchell calling B and B::C a failed experiment to Reini Urban

    While being blocked from p5p I had to read a new outragious statement by a porter. Who is in reality not a porter like me, just some developer who happens to have no idea what he is talking about.

    Re: OP_SIG…

  • Commented on On OP_SIGNATURE
    Having now implemented all my plans with the old slow signatures, I have to take back some of the criticsm above. OP_SIGNATURE is in fact a really good idea. I'm still not too keen about the separation of "Too many|few...
  • Posted On OP_SIGNATURE to Reini Urban

    Since it is not possible to write p5p criticism to the mailing list, I'll have to do it in my blog. @p5p: think over your guidelines. I don't believe that stuff like that needs to be blogged.

    DaveM now introduced a new OP_SIGNATURE which assigns run-time args according to the compiled sign…

  • Commented on Analysing CPAN Testers' Reports
    45 minutes via webscraping? My script gets the reports in 2 minutes, with some yaml caching, and files it under t/reports/$version https://github.com/rurban/perl-compiler/blob/master/t/download-reports...
  • Commented on Today’s bit of black perl
    That's know forever. Changing @_ elements directly is destructive. shift @_ creates a copy. With methods destroying $self (i.e. $_[0]) is of course evil....
  • Posted A little warning to EUMM and shell-script users to Reini Urban

    I sometimes need to write shell-script test scripts and not perl, to be able to test perl scripts, without interfering with perl, and also for performance and easier IO reasons.

    In order to find out with which perl this distro was built, we need to parse the generated Makefile.

    Rec…

  • Posted The sad story of pseudohash criticism to Reini Urban

    I just had to endure MJD’s horrible pseudohash explanation at the Pittsburgh Workshop.

  • Posted New perl5 Porting/bench.pl to Reini Urban

    Dave Mitchel finally got fed up by the lack of stable perl benchmarks, and the impossibility do catch performance regressions.

    This was his announcement, with the sample:

    ="prettypr…
  • Posted Perfect Hashes and faster than memcmp to Reini Urban

    In my previous post about perlcc next steps Perfect::Hash.

    # generate c file for readonly lookup
    phash keyf…
  • Commented on Type::Tiny Tricks #2: Types Are Objects
    Note that this is only true for Moose types. perl types are just classes (i.e. packages), not objects. Having them as objects is purely optional, but they need to be defined as class mandatory....
  • Posted perlcc next steps to Reini Urban

    cPanel uses now the new perl compiler B::C with -O3 and --staticxs

    Our old compiler (with 5.6.2) needed 2:30 hours for each build, produced ~100 binaries of about 30-50MB size. This sounds a lot but it is not. This is about the …

  • Commented on vec is slow, little-endian and limited
    Dana, yes. I've got minor problems with Bit::Vector being not optimized enough for the simple word-aligned cases I was using, even if the API supports words. And I've got bigger problems with vec being little-endian only (on intel), being too...
  • Commented on vec is slow, little-endian and limited
    See https://github.com/rurban/Perfect-Hash/blob/master/Hash.xs#L156 for the fast and pureperl/XS compatible version I'm now using. nvecget and nvecset, n for natural, not network-order. So big-endian on big-endian machines, and little-endian on intel. I didn't cover the bits smaller than 4 yet, as I'm...
  • Posted vec is slow, little-endian and limited to Reini Urban

    I remembered from the perl docs to use vec to compress arrays of size advantage is 3320 byte vs 88 bytes for two integer arrays of size 20 with values [0..1…

  • Commented on playing with Cairo
    Using B::CC with types or rperl would be next level, but Inline::C should be good enough for the beginning....
  • Commented on playing with Cairo
    Just rewrite to most expensive ones, like rotate, walk, cast, inside, update in Inline::C. Still readable, in the same file. No need to use perl ops for the float ops....
  • Commented on Google Summer of Code 2014 (Update 2)
    My backup mentor is Bruce Gray (Util)...
  • Commented on Statistics for perl hash tables
    mst: It is a sad thing to tell that, and it would have been better to avoid these allegations, but other people need to work with perl5 also, so they need to be told how the state of the onion...
  • Commented on Statistics for perl hash tables
    Aristotle: That is my theory also. The implementation is just bad (that's what I see) and the decisions were not rational. The contradicting theory (in p5p's favor) would have been that they found something to keep the current collision scheme...
  • Commented on Statistics for perl hash tables
    yves: This was bulk's idea not mine. If the hash numbers are the same in an array of collisions, sorting by it would be wrong. But this quickly got below my level of interaction, sorry....
  • Commented on Statistics for perl hash tables
    bulk88: we hash unnecessary bits. needed are typically the last 5-9 bits (size 32-512) The biggest hash table in the core test suite needs 15 bits! Maybe I dont get something here, but CPUs can only do natively 32/8 bit...
  • Commented on Statistics for perl hash tables
    Steffen: Ok, sounds fair not to publish the attack itself. I'm working on testing my ideas currently. The typical case should be fast and the abnormal attack costs should not be linear. So far with our linear collision scheme I...
  • Commented on Statistics for perl hash tables
    Steffen, you are right. I see we are using ONE_AT_A_TIME_HARD in blead now. That's what the statistics is against. Obviously I was only reading Yves blog post and didn't follow the many changes of the now default function. JenkinsOOAT =>...
  • Posted Statistics for perl hash tables to Reini Urban

    The following data is from a 64bit perl-5.19.10 (i.e. 32 bit jenkins - corrected from 64 bit siphash - which randomly shuffles the 2 first entries of collisions), running the core test suite with -DH.

    number of hash keys:

    0   3634661x
    1   326…
  • Posted Do not use each to Reini Urban

    The each hash iterator has two problems which almost nobody is aware We were using the perl-compiler since 12 years in production and just recently found out that the B function ="pretty…

  • Posted My new buildbot to Reini Urban

    I've added some buildbot instances on various architectures to my new buildbot at http://perl514.cpanel.net/build/.

    Tested projects are so far: perl5, rakudo, nqp, parrot and p2.

    The buildslaves are c…

  • Commented on Subroutine attributes: where and how to use them
    I've added this to the Google+ post of the video: I'm missing the important distinction and dangers of Attribute::Handlers vs Sub::Attributes. Attribute::Handlers evaluates all code attribute arguments, Sub::Attributes not. sub cleanup :Help(unlink some files) {} Will not only attach the...
Subscribe to feed Recent Actions from Reini Urban

Subscribe to feed Responses to Comments from Reini Urban

About blogs.perl.org

blogs.perl.org is a common blogging platform for the Perl community. Written in Perl and offering the modern features you’ve come to expect in blog platforms, the site is run by Dave Cross and Aaron Crane, with a design donated by Six Apart, Ltd.