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,
buf->start is more likely not equal to 0, this is leading to buffer rotate, and make the performance lower.