Dear Admins! I have tried to contact the maintainer of the module with an update - see letter below. Unfortunately I could not find him on the net either. I am asking for some assistance either to contact him - in case You have any contact info - or some guidline how to add my modifications. Yours, Laszlo
---------- Forwarded message ---------- From: <mailer-dae...@x1.develooper.com> Date: Sun, Jul 13, 2014 at 2:35 PM Subject: failure notice To: salmo...@gmail.com Hi. This is the qmail-send program at x1.develooper.com. I'm afraid I wasn't able to deliver your message to the following addresses. This is a permanent error; I've given up. Sorry it didn't work out. <z...@zmij.info>: Sorry, I couldn't find any host named zmij.info. (#5.1.2) --- Below this line is a copy of the message. Return-Path: <salmo...@gmail.com> Received: (qmail 27514 invoked by uid 225); 13 Jul 2014 12:35:03 -0000 Delivered-To: z...@cpan.org Received: (qmail 27498 invoked by uid 103); 13 Jul 2014 12:35:00 -0000 Received: from xx1.dev (10.0.100.115) by x1.dev with QMQP; 13 Jul 2014 12:35:00 -0000 Received: from localhost (HELO xx1.develooper.com) (127.0.0.1) by xx1.develooper.com (qpsmtpd/0.84/v0.84-36-g0b0e4e9) with ESMTP; Sun, 13 Jul 2014 05:35:00 -0700 Received: from xx1.develooper.com (xx1.develooper.com [127.0.0.1]) by localhost (Postfix) with SMTP id 502C811EF2B for <z...@cpan.org>; Sun, 13 Jul 2014 05:35:00 -0700 (PDT) Received: from mail-oa0-f44.google.com (mail-oa0-f44.google.com [209.85.219.44]) by xx1.develooper.com (Postfix) with ESMTP id 85BFC11DB99 for <z...@cpan.org>; Sun, 13 Jul 2014 05:34:58 -0700 (PDT) Received: by mail-oa0-f44.google.com with SMTP id eb12so3120049oac.17 for <z...@cpan.org>; Sun, 13 Jul 2014 05:34:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=x+PfOr6EAChUSygaZdQRj836VSUKZz5D+qnmi+b7d+A=; b=x3lWU2fCd5kxUV0hhSmzd9wohAzC+YFG9RMXl2cOpzAMNL0lV8QV5oPUvLzF7Iu9iP kdLEpBT38s/YolaEdjIcTDY45s3fA3lE7BRiHOu+x4J/mT3pAcRETpnY1yf+Ffn9gujY yElwJyz2Pz/yq7psJOAVrTdT+j+nQsuREtJvz3Etf3kcf7oObjPn+UdHN8DCikZLw22b qxFD7eGNNGVfKSyrv8jfsxkVp+nUgTnH1h74dJkTyMsN/f1SfbIE+3Ylg55lQqC47gnb 0Y1aVRn8ueuzXvSLwjIBPHaRw25u+BjmQBLGhE+lb8ZbofDC/Yg0+DQtYokl5XDhbfCT 92kQ== MIME-Version: 1.0 X-Received: by 10.182.22.111 with SMTP id c15mr11672708obf.32.1405254897543; Sun, 13 Jul 2014 05:34:57 -0700 (PDT) Received: by 10.76.2.38 with HTTP; Sun, 13 Jul 2014 05:34:57 -0700 (PDT) Date: Sun, 13 Jul 2014 14:34:57 +0200 Message-ID: <CAAZT2vhOHtfD8iCZXSh= 0pphov0w9ssqechtg0_xzs-fret...@mail.gmail.com> Subject: Array::Utils From: =?UTF-8?B?TMOhc3psw7MgRm9ycsOz?= <salmo...@gmail.com> To: z...@cpan.org Content-Type: multipart/mixed; boundary=001a1133278afcc7a404fe1266d2 X-PMX-Version: 5.6.1.2065439, Antispam-Engine: 2.7.2.376379, Antispam-Data: 2014.7.13.122720 X-PMX-Spam: Gauge=IIIIIIII, Probability=8%, Report=' HTML_NO_HTTP 0.1, SUBJ_1WORD 0.1, BODYTEXTH_SIZE_10000_LESS 0, BODYTEXTP_SIZE_3000_LESS 0, BODY_SIZE_10000_PLUS 0, CTYPE_MULTIPART_NO_QUOTE 0, DKIM_SIGNATURE 0, NO_URI_FOUND 0, WEBMAIL_SOURCE 0, __CT 0, __CTYPE_HAS_BOUNDARY 0, __CTYPE_MULTIPART 0, __CTYPE_MULTIPART_MIXED 0, __FRAUD_WEBMAIL 0, __FRAUD_WEBMAIL_FROM 0, __FROM_GMAIL 0, __HAS_FROM 0, __HAS_HTML 0, __HAS_MSGID 0, __HELO_GMAIL 0, __MIME_HTML 0, __MIME_VERSION 0, __PHISH_SPEAR_HTTP_RECEIVED 0, __PHISH_SPEAR_STRUCTURE_1 0, __RDNS_GMAIL 0, __SANE_MSGID 0, __TO_MALFORMED_2 0, __TO_NO_NAME 0, __YOUTUBE_RCVD 0, __zen.spamhaus.org_ERROR ' --001a1133278afcc7a404fe1266d2 Content-Type: multipart/alternative; boundary=001a1133278afcc7a104fe1266d0 --001a1133278afcc7a104fe1266d0 Content-Type: text/plain; charset=UTF-8 Hi, Sergej, some years ago we did a little correspondece over the array_minus function. Lately I ended up an algorithm for the set manipulation, that seems to be a way faster than any currently around in Perl as most of the work is done by the interpreter by slicing instead of any iteration and hash-loookups. My impression that for not-huge lists this is likely the fastest that can be achieved in Pure-Perl - I have not generated benchmark against them, but that can easily been done . I have attached a benchmark comparing the previous version. I have also benchmarked this algo against some other Set:: packages before and this seems to be competitive in speed, but those are some hundred km from here atm. I tried to reconstruct the benchmarks on my current box but the modules I wanted to run depend on threaded Perl and at the moment mine is not threaded - and I have no time to fiddle with it. Nevertheless, I have included a benchmark 'suite' agains Set::Object. Set::Array should also be included, as I remember Set::Array was the one that is the fastest. I reorganized the test suit a bit, and included 3 more boolean functions that should cover the logical use cases that lists demand, with tests. I increased the version number, put the file into a .lib/Array/ subdir, and modified the CHANGE file, also the docu for the module. I also changed my e-mail address. However, I did not add myself to the authors in the docu as You are the maintainer, so that must be Your consideration. Check it, pls., especially the test-suit, and if you run benchmarks, let me know. If results are good, perhaps that could also been included. I hope I have not missed anything. Yours Sincerely, Laszlo Forro --001a1133278afcc7a104fe1266d0 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">Hi, Sergej,<div>some years ago we did a little corresponde= ce over the array_minus function.</div><div>Lately I ended up an algorithm = for the set manipulation, that seems to be a way faster than any currently = around in Perl as most of the work is done by the interpreter by slicing in= stead of any iteration and hash-loookups.=C2=A0</div> <div>My impression that for not-huge lists this is likely the fastest that = can be achieved in Pure-Perl - I have not generated benchmark against them,= but that can easily been done . =C2=A0</div><div><br></div><div>I have att= ached a benchmark comparing the previous version. I have also benchmarked t= his algo against some other Set:: packages before and this seems to be comp= etitive in speed, but those are some hundred km from here atm. I tried to r= econstruct the benchmarks on my current box but the modules I wanted to run= depend on threaded Perl and at the moment mine is not threaded - and I hav= e no time to fiddle with it. Nevertheless, I have included a benchmark '= ;suite' agains Set::Object. Set::Array should also be included, as I re= member Set::Array was the one that is the fastest.</div> <div><br></div><div><div>I reorganized the test suit a bit, and included 3 = more boolean functions that should cover the logical use cases that lists d= emand, with tests.</div></div><div><br></div><div>I increased the version n= umber, put the file into a .lib/Array/ subdir, and modified the CHANGE file= , also the docu for the module. I also changed my e-mail address.</div> <div>However, I did not add myself to the authors in the docu as You are th= e maintainer, so that must be Your consideration.</div><div><br></div><div>= Check it, pls., especially the test-suit, and if you run benchmarks, let me= know. If results are good, perhaps that could also been included.</div> <div><br></div><div>I hope I have not missed anything.</div><div><br></div>= <div>Yours Sincerely,</div> <div>Laszlo Forro</div></div> --001a1133278afcc7a104fe1266d0-- --001a1133278afcc7a404fe1266d2 Content-Type: application/x-bzip2; name="Array-Utils-0.6.tar.bz2" Content-Disposition: attachment; filename="Array-Utils-0.6.tar.bz2" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hxkcdzwo0 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 --001a1133278afcc7a404fe1266d2--