Zoltan Farkas created AVRO-2068: ----------------------------------- Summary: Improve EnumSchema constructor performance Key: AVRO-2068 URL: https://issues.apache.org/jira/browse/AVRO-2068 Project: Avro Issue Type: Improvement Reporter: Zoltan Farkas Priority: Trivial
at https://github.com/apache/avro/blob/master/lang/java/avro/src/main/java/org/apache/avro/Schema.java#L745 : {code} .... private static class EnumSchema extends NamedSchema { private final List<String> symbols; private final Map<String,Integer> ordinals; public EnumSchema(Name name, String doc, LockableArrayList<String> symbols) { super(Type.ENUM, name, doc); this.symbols = symbols.lock(); this.ordinals = new HashMap<String,Integer>(); int i = 0; for (String symbol : symbols) if (ordinals.put(validateName(symbol), i++) != null) throw new SchemaParseException("Duplicate enum symbol: "+symbol); } .... {code} should be changed to: {code} .... private static class EnumSchema extends NamedSchema { private final List<String> symbols; private final Map<String,Integer> ordinals; public EnumSchema(Name name, String doc, LockableArrayList<String> symbols) { super(Type.ENUM, name, doc); this.symbols = symbols.lock(); this.ordinals = new HashMap<String,Integer>(symbols.size()); int i = 0; for (String symbol : symbols) if (ordinals.put(validateName(symbol), i++) != null) throw new SchemaParseException("Duplicate enum symbol: "+symbol); } .... {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)