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).
  • 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...
  • Commented on C::TinyCompiler, a just-in-time C compiler for Perl
    BTW: perlcc is used by cPanel in production for about 15 years, and is very stable. Not all perl5 features are supported, but all which are needed for modern perl and 99% of CPAN...
  • Posted B::C[C] and rperl to Reini Urban

    With rperl we have now a second serious perl B::CC, but also several disadvantages.

    Basically we need to define compilation blocks for rperl (restricted perl) - typed and compile-time optimizab…

  • Commented on Moving PPI to GitHub encourages some new activity
    Great!...
  • Posted How to resize a NTFS qemu qcow2 image (the easy way) to Reini Urban

    There's so much bad information out there how to simply resize a NTFS qemu qcow2 (windows in kvm) image, and I need to frequently enhance my windows images, esp. on win8 (64 bit) so I'll document it here for the next time:

    • Don't use fdisk if you have gparted!
    • Don't waste spa…
  • Commented on A Tiny Code Quiz
    The relevant Concise is: s <@> print vK ->t l <0> pushmark s ->m - <1> scalar sK/1 ->s r <@> list sK ->s m <0> pushmark v ->n o <1> rv2av[t5] vK/1 ->p n gv(ar1) s ->o q <1>...
  • Commented on How I fixed a crazy test problem: make -j4
    I finally fixed all make problems by removing most of shell-code from the make rules, e.g. by using special shell-scripts, and by passing + to such external scripts which call make by themselves, to tell the job-server the pid of...
  • Commented on I want mop rest capability to define fast accessor
    See http://blogs.perl.org/users/rurban/2011/06/how-perl-calls-subs-and-methods.html on "Optimization of static methods, e.g. Class->new" the opt_methods patch. With typed methods, readonly packages and @ISA you'll get this optimization also for dynamic methods. In Moose/mop they called it immutable, but don't use these optimizations....
  • Commented on How I fixed a crazy test problem: make -j4
    Having even more crazy make issues, fixed by using gmake-4.0. https://github.com/perl11/potion/issues/53...
  • Posted How I fixed a crazy test problem: make -j4 to Reini Urban

    For quite some months I was running after crazy potion and p2 testing problems, which looked like compiler or stack alignment problems.

    potion, the vm for p2 uses tricky volatile words to force the…

  • Commented on C::TinyCompiler, a just-in-time C compiler for Perl
    Looks nice and clean. So the remaining sugar is needed as for every other FFI like package: Handle foreign and perl primitive and aggregate data structures more easily (where ctypes got stuck). Apparently I have to lookup PDL, which seems...
  • Commented on CPAN modules for defining constants
    BTW: https://github.com/rurban/perl/tree/typed/const was my start for a real native const/readonly attribute for lexical variables, but without the following compiler optimizations for perfect hashes, better arrays, methods, classes, inheritance, ......
  • Commented on Compare projects p2, gperl, MoarVM
    The stats are also a bit skewed since the parser development on greg happens in 3 repos: mine, Amos Wenger and Ian Piumarta, and is regulary merged, without any visible stats in the p2 repo....
  • Commented on Compare projects p2, gperl, MoarVM
    Sure, but since potion is the p2 vm and is using the same git tree it is automatically included. p2 is just a branch from potion. I see no problem with that. rakudo and now also nqp on the other...
  • Posted Compare projects p2, gperl, MoarVM to Reini Urban
  • Posted Games to Reini Urban

    Alex posted a nice overview of Tk games in perl, along SDL games.

    I found out I never published my game UI, a pretty fast Sudoku solver in native Wi…

  • Commented on First p2 milestone passed: parse 50% of perl5
    Unfortunately I ran out of time in the 40minutes at #yapcasia and I couldn't demo the new debugger I wrote on the plane. I can single step through the codeand do eval, but not yet access the lexical variables in...
  • Commented on Using kcachegrind on potion
    Another note: With Instruments you can watch the profiling data while running, and it helps if you click in the left pane on "Invert Call Tree"....
  • Commented on Using kcachegrind on potion
    Based on these samples I made the following changes: 1. overallocate tuples by 3. Start empty tuples with size 3. This esp. helps the parser, which is not GC safe. 2. fix a bad runtime call to sig_at in the...
  • Commented on First p2 milestone passed: parse 50% of perl5
    Spoke too early. Found out why my bytecode was slow. It's again 2-3x faster than perl5. I added default signatures and named calls, and had to add run-time checks for signatures for every function call. The check was done very...
  • Commented on First p2 milestone passed: parse 50% of perl5
    Fixed the benchmark examples now. fib.pl did not work because there was a bytecode compiler problem with the representation of 0 (as 1), which was interpreted as true instead of false (issue #24). And nbody had a wrong algorithm. Works...
Subscribe to feed Recent Actions from Reini Urban

  • demerphq commented on Statistics for perl hash tables

    Also I should mention you compared against CityHash, which as far as I know is broken in that you can construct a multi-collision attack (what I call a key extension attack above).

    https://131002.net/siphash/#at

    https://131002.net/siphash/citycollisions-20120730.tar.gz

  • Steffen Mueller commented on Statistics for perl hash tables

    For the record: I'm with Yves on this. If you do find a hash function (or a change to how the data structure is implemented) that speeds things up while retaining security, I'll be very happy and grateful!

  • Aristotle commented on Statistics for perl hash tables
    It's just sad that I cannot read about the rationale and possible attacks which lead to some design decisions which really look crazy, not to say stronger words, from the outside.

    I think a lot of what looks like secrecy and cabal-ism is merely the result of a very low bus number for all of the perl core. Not only are there only two dozen people at most with a good understanding of the core, but …

  • demerphq commented on Statistics for perl hash tables

    Dont worry about Reini's crazier ideas like sorting things by their hash number. That will never ever ever happen.

    Its a patently ridiculous idea, completely insecure, and nonsensical.

  • Matt S Trout (mst) commented on Statistics for perl hash tables

    "What is not good is that the developers have no idea how to evaluate hash tables and there is no sane discussion possible in the mailinglist"

    Asserting that nobody except you is competent to have an opinion does, indeed, largely ensure that no sane discussion is possible. Occam's Razor suggests that the problem does not, however, lie with the mailing list.

    About fifteen years ago, I re-engineered significant chunks of my visible personality and interaction patterns with other people in order to put me in situations where I had to improve my social and communication skills.…

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.