Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:39146 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 20104 invoked from network); 21 Jul 2008 20:18:08 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 21 Jul 2008 20:18:08 -0000 Authentication-Results: pb1.pair.com header.from=mls@pooteeweet.org; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=mls@pooteeweet.org; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain pooteeweet.org from 88.198.8.16 cause and error) X-PHP-List-Original-Sender: mls@pooteeweet.org X-Host-Fingerprint: 88.198.8.16 bigtime.backendmedia.com Linux 2.6 Received: from [88.198.8.16] ([88.198.8.16:45039] helo=bigtime.backendmedia.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id CD/83-33868-EFEE4884 for ; Mon, 21 Jul 2008 16:18:07 -0400 Received: from localhost (unknown [127.0.0.1]) by bigtime.backendmedia.com (Postfix) with ESMTP id 09493414400A; Mon, 21 Jul 2008 20:19:02 +0000 (UTC) X-Virus-Scanned: amavisd-new at backendmedia.com Received: from bigtime.backendmedia.com ([127.0.0.1]) by localhost (bigtime.backendmedia.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id lXKyHpq6b21U; Mon, 21 Jul 2008 22:19:00 +0200 (CEST) Received: from [192.168.0.151] (77-57-23-243.dclient.hispeed.ch [77.57.23.243]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: mls@pooteeweet.org) by bigtime.backendmedia.com (Postfix) with ESMTP id A23F54144009; Mon, 21 Jul 2008 22:18:59 +0200 (CEST) To: Matt Wilmas In-Reply-To: <012501c8e818$3f076ed0$0201a8c0@pc1> X-Priority: 3 References: <008601c703ba$0a9f4940$0201a8c0@pc1> <012501c8e818$3f076ed0$0201a8c0@pc1> Message-ID: Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v928.1) Date: Mon, 21 Jul 2008 22:16:38 +0200 Cc: X-Mailer: Apple Mail (2.928.1) Subject: Re: [PHP-DEV] Optimization for ..._MULTIPLY_LONG on more systems From: mls@pooteeweet.org (Lukas Kahwe Smith) On 17.07.2008, at 16:20, Matt Wilmas wrote: > Hi all, > > Replying to this OLD message about the ZEND_SIGNED_MULTIPLY_LONG() > change... > It's just a small thing, but it's been on the TODO for a while, so I > attempted to correct the issue with my original patch that used > "long long" > type, which wasn't available on the older MSVC versions, etc. I > created a > zend_long64 type (when possible, #if logic copied from snprintf.h's > WIDE_INT > definition), hopefully it's mostly correct/OK, and maybe it can be > used > elsewhere too. > > Since the new memory manager, ..._MULTIPLY_LONG() isn't used for > safe_emalloc() anymore, so I made another safe_address() variation > (overflow > safe, I hope). I noticed ~0.6% slowdown on bench.php, though it > seems this > zend_ulong64 version should use fewer cycles than the doubles one > for sure, > if someone wants to analyze it more. :-) > > Finally, is it even possible to also have a Windows assembly version > of > these 2 things, where I left the comments? There is for > zend_mm_[high|low]_bit(), but they're very simple... > > http://realplain.com/php/multiply_long.diff > http://realplain.com/php/multiply_long_5_3.diff any takers for this patch? otherwise it will probably not make the cut by the 24th regards, Lukas Kahwe Smith mls@pooteeweet.org