Return-Path: Delivered-To: apmail-hadoop-avro-dev-archive@minotaur.apache.org Received: (qmail 54843 invoked from network); 16 Jan 2010 12:12:15 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 16 Jan 2010 12:12:15 -0000 Received: (qmail 31584 invoked by uid 500); 16 Jan 2010 12:12:15 -0000 Delivered-To: apmail-hadoop-avro-dev-archive@hadoop.apache.org Received: (qmail 31498 invoked by uid 500); 16 Jan 2010 12:12:15 -0000 Mailing-List: contact avro-dev-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: avro-dev@hadoop.apache.org Delivered-To: mailing list avro-dev@hadoop.apache.org Received: (qmail 31452 invoked by uid 99); 16 Jan 2010 12:12:15 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 16 Jan 2010 12:12:15 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 16 Jan 2010 12:12:14 +0000 Received: from brutus.apache.org (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 6852D234C4AA for ; Sat, 16 Jan 2010 04:11:54 -0800 (PST) Message-ID: <1129036944.289321263643914426.JavaMail.jira@brutus.apache.org> Date: Sat, 16 Jan 2010 12:11:54 +0000 (UTC) From: "Thiruvalluvan M. G. (JIRA)" To: avro-dev@hadoop.apache.org Subject: [jira] Updated: (AVRO-345) Optimization for ResolvingDecoder In-Reply-To: <2125058194.289291263643794396.JavaMail.jira@brutus.apache.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/AVRO-345?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Thiruvalluvan M. G. updated AVRO-345: ------------------------------------- Assignee: Thiruvalluvan M. G. Status: Patch Available (was: Open) > Optimization for ResolvingDecoder > --------------------------------- > > Key: AVRO-345 > URL: https://issues.apache.org/jira/browse/AVRO-345 > Project: Avro > Issue Type: Improvement > Components: java > Reporter: Thiruvalluvan M. G. > Assignee: Thiruvalluvan M. G. > Attachments: AVRO-345-test.patch, AVRO-345.patch > > > If the writer's and reader's schema are records, we allow the order of fields to be different in them. The ResolvingDecoder returns the fields in the writer's order. This is to avoid buffering. The current implementation uses FieldAdjust action on the parser stack. The number of such action symbols is equal to the number of reader fields. This causes performance problem because the number of calls to advance() is almost double compared to the number of calls in ValidatingDecoder. > This patch replaces the FieldAdjustAction symbols with FieldOrderAction symbols. We have FieldOrderActions one per record, which is expected to be much smaller than the number of fields. Though it changes the API for ResolvingDecoder slightly, there is no impact because we do not have any users yet. > I see a 10-15% improvement in my computer with Perf -S. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.