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

pn_data_t initialization lead to low performance

VotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    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

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          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

                Slack

                  Issue deployment