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

pn_data_t initialization lead to low performance

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • proton-c-0.30.0
    • proton-c-0.33.0
    • proton-c
    • x86_64 GNU/Linux
    • 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

              astitcher Andrew Stitcher
              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