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

Reply via email to