commit | 2a2d3ff27bd606af3e3c3c93705efff65c7a6302 | [log] [tgz] |
---|---|---|
author | Timothy Bish <tabish121@gmail.com> | Fri Dec 01 16:11:34 2017 -0500 |
committer | Timothy Bish <tabish121@gmail.com> | Fri Dec 01 16:11:34 2017 -0500 |
tree | e0c31fbcacad89fb59007772910c0eee87e33e2e | |
parent | cb3b9f4d51e1ee14a5f455eb23dd36415e0433e7 [diff] |
PROTON-1708 Optimizations for the EncoderImpl and DecoderImpl Provides several performance enhancements for the AMQP codec EncoderImpl and DecoderImpl classes. * Reduce instanceof and other type checks fro known types or by looking ahead in the working buffer * Reduce the number of throw away objects created during encode and decode phase such as dynamic type constructor and char decoders etc. * Provide fast write paths for both primitive types and known Described types that are most often used * Provide fast write path for most primitive write operations and for Described types that are most often used * Ensure the hot path for most read and write operations can be inlined for the most common types. * Adds some look ahead methods for users of the decoder that allow for skipping types that aren't needed * Allow Map types to be given fixed Type handlers for the Map keys for those AMQP Map types whose Key types are specified to avoid the overhead of looking them up on each Key read / write.
Qpid Proton-J is a high-performance, lightweight messaging library. It can be used in the widest range of messaging applications, including brokers, client libraries, routers, bridges, proxies, and more.
Please see http://qpid.apache.org/proton for more information.