[
https://issues.apache.org/jira/browse/AVRO-2090?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16661364#comment-16661364
]
ASF GitHub Bot commented on AVRO-2090:
--------------------------------------
rstata commented on issue #350: AVRO-2090 second try
URL: https://github.com/apache/avro/pull/350#issuecomment-432438717
The Docker build also passed (see below).
FWIW, when doing work on my laptop, I can't get `mvn test` to work -- I have
to do `mvn package` instead. I think this is because the `package` goal for
earlier sub-projects of `lang/java` end up creating outputs needed to run tests
in the later sub-projects. (Although, `build.sh` does a `mvn test`, which
seems to work -- I find the behavior of Maven mysterious).
Can you try a `mvn clean package` instead?
Here is the output of my Docker build:
```
rstata@76312f39ae43:~/avro$ ./build.sh test
+ for target in '"$@"'
+ case "$target" in
+ cd lang/java
+ ./build.sh test
[INFO] Scanning for projects...
...LOTS OUT OUTPUT ELIDED...
[INFO]
------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Apache Avro Java .................................. SUCCESS [30.554s]
[INFO] Apache Avro Guava Dependencies .................... SUCCESS [17.652s]
[INFO] Apache Avro ....................................... SUCCESS
[4:08.692s]
[INFO] Apache Avro Compiler .............................. SUCCESS
[1:01.525s]
[INFO] Apache Avro Maven Plugin .......................... SUCCESS [40.351s]
[INFO] Apache Avro IPC ................................... SUCCESS
[3:48.624s]
[INFO] Trevni Java ....................................... SUCCESS [0.282s]
[INFO] Trevni Java Core .................................. SUCCESS [14.026s]
[INFO] Apache Avro Mapred API ............................ SUCCESS
[6:49.612s]
[INFO] Trevni Java Avro .................................. SUCCESS
[1:09.773s]
[INFO] Trevni Specification .............................. SUCCESS [0.579s]
[INFO] Apache Avro Tools ................................. SUCCESS
[2:44.934s]
[INFO] Apache Avro Protobuf Compatibility ................ SUCCESS [7.054s]
[INFO] Apache Avro Thrift Compatibility .................. SUCCESS [10.956s]
[INFO] Apache Avro Maven Archetypes ...................... SUCCESS [2.159s]
[INFO] Apache Avro Maven Service Archetype ............... SUCCESS [0.902s]
[INFO] Apache Avro gRPC .................................. SUCCESS [19.420s]
[INFO]
------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO]
------------------------------------------------------------------------
[INFO] Total time: 22:47.899s
[INFO] Finished at: Tue Oct 23 21:50:05 UTC 2018
[INFO] Final Memory: 64M/194M
[INFO]
------------------------------------------------------------------------
```
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> Improve encode/decode time for SpecificRecord using code generation
> -------------------------------------------------------------------
>
> Key: AVRO-2090
> URL: https://issues.apache.org/jira/browse/AVRO-2090
> Project: Avro
> Issue Type: Improvement
> Components: java
> Reporter: Raymie Stata
> Assignee: Raymie Stata
> Priority: Major
> Fix For: 1.9.0
>
> Attachments: customcoders.md, perf-data.txt
>
>
> New implementation for generation of code for SpecificRecord that improves
> decoding by over 10% and encoding over 30% (more improvements are on the
> way). This feature is behind a feature flag
> ({{org.apache.avro.specific.use_custom_coders}}) and (for now) turned off by
> default. See [Getting Started
> (Java)|https://avro.apache.org/docs/current/gettingstartedjava.html#Beta+feature:+Generating+faster+code]
> for instructions.
> (A bit more info: Compared to GenericRecords, SpecificRecords offer
> type-safety plus the performance of traditional getters/setters/instance
> variables. But these are only beneficial to Java code accessing those
> records. SpecificRecords inherit serialization and deserialization code from
> GenericRecords, which is dynamic and thus slow (in fact, benchmarks show that
> serialization and deserialization is _slower_ for SpecificRecord than for
> GenericRecord). This patch extends record.vm to generate custom,
> higher-performance encoder and decoder functions for SpecificRecords.)
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)