Uploaded image for project: 'Qpid Proton'
  1. Qpid Proton
  2. PROTON-2229

pn_data_t initialization lead to low performance

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: proton-c-0.30.0
    • Fix Version/s: proton-c-0.33.0
    • Component/s: proton-c
    • Environment:
      x86_64 GNU/Linux
    • Flags:
      Patch, Important

      Description

      Recently I update qpid-proton from 0.28.0 to 0.30.0 version, and find massive produce performance fallen by 80%。

      Finally,I find this is caused by pn_data_t initialization。 In 0.28.0 version, it's like 
      data->buf = pn_buffer(64);
      and in In 0.30.0 version, it's like 
      data->buf = NULL;
       
      And when data->buf is initialized by NULL,  in the following call flow, 
      pn_data_put_binary->pni_data_intern_node->pn_buffer_memory->pn_buffer_defrag->pn_buffer_rotate, 
      buf->start is more likely not equal to 0, this is leading to buffer rotate, and make the performance lower.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                astitcher Andrew Stitcher
                Reporter:
                dengwanfa06 wanfa deng
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - 5h
                  5h
                  Remaining:
                  Remaining Estimate - 5h
                  5h
                  Logged:
                  Time Spent - Not Specified
                  Not Specified