Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:104781 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 5841 invoked from network); 18 Mar 2019 02:08:33 -0000 Received: from unknown (HELO a2i400.smtp2go.com) (103.47.205.144) by pb1.pair.com with SMTP; 18 Mar 2019 02:08:33 -0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=smtpcorp.com; s=a1-4; h=Feedback-ID:X-Smtpcorp-Track:Date:Message-ID:From: To:Subject:Reply-To:Sender:List-Unsubscribe; bh=hyDQGKr9JISFJA+ne+LjLXGYQ9zTiPze+ss+M1etcK8=; b=xwMPAsHMu9vS7TvksXRUa6rixQ x+H8KM28IMiGQcTH6UD4sBRcvSowLQKixiYBwsSoCcghYjrGcFCs7vhVBomVMXMpJmu3ovCGhMuEO YAe+CrjJenj7ea5TbYCDHJXgPe6xwPX/l2P0EZXi5BQaMCt2YFLeScuZq6Ku2bjpfoJza+/7EkgIY BDF/ewsBcbvIxIDqmpNnY4DZbQAVenWyoqy5VdnxmSZtnSFw+pskg+0EFOA1pefbByGB5o9pi/I4f /BqfbBzQk3PeJfTrdLDrZpKU6wlHiACmDKJDvHezt7m0z9eWnrtFodNOfCQ0RG0JesJ9Wv2DBj4Yr Eahyibvg==; Received: from [10.103.47.204] (helo=SmtpCorp) by smtpcorp.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.91) (envelope-from ) id 1h5eku-pH9URL-85; Sun, 17 Mar 2019 22:59:48 +0000 Received: from [10.76.179.244] (helo=Robs-MacBook-Pro.local) by smtpcorp.com with esmtp (Exim 4.91) (envelope-from ) id 1h5ekt-U24cKB-Ml; Sun, 17 Mar 2019 22:59:47 +0000 To: "C. Scott Ananian" , internals@lists.php.net References: Openpgp: preference=signencrypt Autocrypt: addr=rrichards@cdatazone.org; prefer-encrypt=mutual; keydata= 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 Cvk= Message-ID: <9a7a4c13-101c-d801-5677-e21842a3207a@cdatazone.org> Date: Sun, 17 Mar 2019 18:59:46 -0400 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:60.0) Gecko/20100101 Thunderbird/60.5.3 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Content-Language: en-US X-Smtpcorp-Track: 1h5-ktl24cKUu_.MhFiSsYSv Feedback-ID: 2192m:2192ajk5Pbc:2192s20orvG4X7 X-Report-Abuse: Please forward a copy of this message, including all headers, to Subject: Re: [PHP-DEV] dom_reconcile_ns performance (or lack thereof) From: rrichards@cdatazone.org (Rob Richards) I'll need to revisit this. Its purpose is to both avoid redundant namespace declarations as well as avoid internal memory corruption of ns nodes in documents. iirc it should only be walking back up the tree to a node that might have declared the namespace being referenced. Rob On 3/14/19 12:34 PM, C. Scott Ananian wrote: > I note that there was some recent discussion about fixing DOMNameSpaceNode > on this list. I'd like to bring up a (perhaps) related issue: the > dom_reconcile_ns() function which is called whenever a new namespaced node > (for example, created with Document#createElementNS) is inserted into the > tree. dom_reconcile_ns() does a full walk up to the root of the DOM (via > the call to xmlSearchNsByHref) which can create a quadratic slowdown for > deeply-nested documents. > > What is this function doing? Can we do it lazily? Technically HTML > elements should be created in the HTML namespace, but doing so leads to > extreme performance loss -- parsing a 2MB file goes from 0.4s (with > Document#createElement()) to 2.5s (with Document#createElementNS()). > --scott