[
https://issues.apache.org/jira/browse/PROTON-591?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrew Stitcher resolved PROTON-591.
------------------------------------
Resolution: Fixed
Fix Version/s: 0.8
> There are two large, mostly empty tables used for dispatching incoming frames
> -----------------------------------------------------------------------------
>
> Key: PROTON-591
> URL: https://issues.apache.org/jira/browse/PROTON-591
> Project: Qpid Proton
> Issue Type: Improvement
> Components: proton-c
> Affects Versions: 0.7
> Reporter: Andrew Stitcher
> Assignee: Andrew Stitcher
> Fix For: 0.8
>
>
> The frame dispatch for the raw amqp and sasl layers use a table with 256
> entries to lookup the handling routine for the incoming performative.
> There are only 14 different performatives and there is a separate table for
> the raw amqp and the sasl layer so there are in total 498 empty table entries
> and only 14 actual entries.
> Currently we don't need to add performatives on the fly so there is no real
> need for a table that can be altered as in the current design. We can save a
> lot of space and somewhat simplify the code by using a dumb
> {code} switch(code) { ...case OPEN: ... break; }; {code} construct for the
> dispatch.
> On a 64 bit machine this saves about 4k per connection and on a 32 bit around
> 2k per connection (or only 1k if the SASL layer is disabled)
--
This message was sent by Atlassian JIRA
(v6.2#6252)