JuliaComputing / AMQPClient.jl

A Julia AMQP (Advanced Message Queuing Protocol) / RabbitMQ Client.
Other
39 stars 21 forks source link

reduce copying of large messages while sending #48

Closed tanmaykm closed 2 years ago

tanmaykm commented 2 years ago

This change avoids copying entire large messages into memory while sending. Instead of earlier approach of chunking the entire message before starting to send, we now chunk as we proceed with sending message over the channel. The memory overhead is limited to the sendq size.

codecov-commenter commented 2 years ago

Codecov Report

Merging #48 (2feb6a5) into master (4388aec) will increase coverage by 0.69%. The diff coverage is 92.85%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master      #48      +/-   ##
==========================================
+ Coverage   82.02%   82.71%   +0.69%     
==========================================
  Files           9        9              
  Lines        1029     1030       +1     
==========================================
+ Hits          844      852       +8     
+ Misses        185      178       -7     
Impacted Files Coverage Δ
src/protocol.jl 87.50% <92.59%> (+0.66%) :arrow_up:
src/types.jl 96.98% <100.00%> (+0.66%) :arrow_up:
src/convert.jl 100.00% <0.00%> (+14.28%) :arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 4388aec...2feb6a5. Read the comment docs.