Return-Path: Delivered-To: apmail-ws-axis-c-dev-archive@www.apache.org Received: (qmail 49352 invoked from network); 17 Sep 2006 04:19:12 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 17 Sep 2006 04:19:12 -0000 Received: (qmail 50070 invoked by uid 500); 17 Sep 2006 04:19:12 -0000 Delivered-To: apmail-ws-axis-c-dev-archive@ws.apache.org Received: (qmail 50046 invoked by uid 500); 17 Sep 2006 04:19:12 -0000 Mailing-List: contact axis-c-dev-help@ws.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: List-Id: "Apache AXIS C Developers List" Reply-To: "Apache AXIS C Developers List" Delivered-To: mailing list axis-c-dev@ws.apache.org Received: (qmail 50035 invoked by uid 99); 17 Sep 2006 04:19:11 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 16 Sep 2006 21:19:11 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received: from [209.237.227.198] (HELO brutus.apache.org) (209.237.227.198) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 16 Sep 2006 21:19:11 -0700 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 419CD410011 for ; Sun, 17 Sep 2006 04:15:22 +0000 (GMT) Message-ID: <14281120.1158466522266.JavaMail.jira@brutus> Date: Sat, 16 Sep 2006 21:15:22 -0700 (PDT) From: "James Clark (JIRA)" To: axis-c-dev@ws.apache.org Subject: [jira] Created: (AXIS2C-290) Improve IO architecture to minimize copying MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Improve IO architecture to minimize copying ------------------------------------------- Key: AXIS2C-290 URL: http://issues.apache.org/jira/browse/AXIS2C-290 Project: Axis2-C Issue Type: Improvement Reporter: James Clark At the moment, there's a lot of inefficiency in how data moves through the system. Data (especally binary data) is copied multiple times, and often multiple copies of potentially large data items are held in memory. The design needs revisiting so as to minimize copying. Apache2's native IO interface is "bucket brigades". At the moment, we're not using this but rather the Apache 1.x compatibility layer that is built on top of this. This is causing an unnecessary copy of data both on input and output. The design goals should include: - the XML parser should be able to operate directly on bytes in a bucket brigade - the MIME parser should be able to operate directly on bytes in a bucket brigade - when a binary blob in the axiom tree (what is currently called a data handler) comes from MTOM optimizsed input, it should refer to bytes in the Apache bucket brigade - when a binary blob in the axiom tree is output using MTOM, that blob should be passed for output to Apache without any copying - when data is encrypted, the encrypted bytes should be stored once and then passed for output to Apache without any copying - when the message body is signed, it should be serialized once; this serialization should both be used for signing and be passed for output to Apache without copying (this is particularly tricky because the MTOMification is applied for output but not for signing) - the design is not too tightly coupled to Apache2's bucket brigades interface. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org For additional commands, e-mail: axis-c-dev-help@ws.apache.org