summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* When under memory pressure, we want to limit the size of q2 and q3, not just ↵Matthew Sackman2011-10-112-161/+132
| | | | of ?s. Simplify calculation of permitted length. Simplify (and correct) expansion of ?. We can now completely drop ram_index_count as we never care about just the number of ?s.
* Merging default to bug24455Matthew Sackman2011-10-116-219/+211
|\
| * Merged bug24461 into defaultEmile Joubert2011-10-0612-169/+191
| |\
| | * inline publish/5Matthias Radestock2011-10-061-31/+25
| | |
| | * Merged bug24459 into defaultEmile Joubert2011-10-051-30/+34
| | |\
| | | * merge default into bug24459Matthias Radestock2011-10-011-30/+34
| | | |\
| | | | * keep track of uncommitted acks in a list instead of a queueMatthias Radestock2011-10-011-17/+15
| | | | | | | | | | | | | | | | | | | | This is simpler.
| | | | * collect acks in lists rather than queuesMatthias Radestock2011-10-011-20/+26
| | | | | | | | | | | | | | | | | | | | | | | | | ...which is slightly simpler and more efficient. This also allows us to optimise for the common case in fold_per_queue.
| | * | | Merged bug24462 into defaultEmile Joubert2011-10-041-1/+1
| | |\ \ \
| | | * | | Don't blow up when nodes policy is used.Simon MacMullen2011-10-031-1/+1
| | | | | |
| * | | | | make the rabbit_event API more pleasant to use and less costlyMatthias Radestock2011-10-014-157/+151
| | |_|/ / | |/| | | | | | | | | | | | | also simplify ensure_stats_timer - it now always sends the message to self().
* | | | | Ensure that we push ?-bordering ?s into ? eagerly.Matthew Sackman2011-10-112-10/+22
| | | | |
* | | | | Merging default into bug24455Matthew Sackman2011-10-044-648/+271
|\ \ \ \ \ | |_|/ / / |/| | | |
| * | | | simplify delta calculation in push_betas_to_deltasMatthias Radestock2011-10-031-65/+47
| | | | |
| * | | | fix indentationMatthias Radestock2011-10-021-2/+1
| | | | |
| * | | | save a lineMatthias Radestock2011-10-021-3/+2
| | | | |
| * | | | merge headsMatthias Radestock2011-10-021-1/+1
| |\ \ \ \
| | * | | | Make lqueue opaqueMatthew Sackman2011-10-021-1/+1
| | | | | |
| * | | | | refactor: get rid of #merge_funsMatthias Radestock2011-10-021-54/+29
| | | | | |
| * | | | | some small cosmetic changes and tiny tweaksMatthias Radestock2011-10-021-13/+13
| |/ / / /
| * | | | Drop unneeded queue impls, tidy lqueue, add specs etcMatthew Sackman2011-10-026-820/+28
| | | | |
| * | | | Avoid lots of combine_delta callsMatthew Sackman2011-10-022-45/+87
| | | | |
| * | | | Merging default into bug24455Matthew Sackman2011-10-027-80/+87
| |\ \ \ \
| * | | | | Avoid delta's low end extending beyond the low end of q3Matthew Sackman2011-09-301-16/+21
| | | | | |
| * | | | | Merging default into bug24455Matthew Sackman2011-09-305-245/+392
| |\ \ \ \ \
| * | | | | | Count the quota properly on beta -> delta. Also, fprof shows that the ↵Matthew Sackman2011-09-292-51/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | queue:len calls in permitted_beta_count can be very expensive. So wrap the whole of queue in lqueue and associated refactoring.
| * | | | | | Count properlyMatthew Sackman2011-09-281-4/+4
| | | | | | |
| * | | | | | Change one or two things around a little bitMatthew Sackman2011-09-282-114/+83
| | | | | | |
| * | | | | | Add 2,3-finger_tree implementation.Matthew Sackman2011-09-263-1/+288
| | | | | | |
| * | | | | | Merging default into bug24455Matthew Sackman2011-09-268-18/+34
| |\ \ \ \ \ \
| * | | | | | | bpqueue is very dependent on the performance of queue:join. fqueue makes ↵Matthew Sackman2011-09-232-32/+152
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | queue:join O(1) and maintains O(1) on other operations bpqueue cares about
* | | | | | | | merge bug24323 into defaultMatthias Radestock2011-10-0369-1225/+1797
|\ \ \ \ \ \ \ \ | | |_|_|_|_|/ / | |/| | | | | |
| * | | | | | | optimise resource lookupMatthias Radestock2011-10-032-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is worth ~2% in "MCM -a" when running with two Erlang schedulers, and drops rabbit_misc:dirty_read/1 from #21 to #49 in the fprof analysis of the publisher channel.
| * | | | | | | improve performance by bypassing mnesia for queue lookupMatthias Radestock2011-10-031-11/+10
| | |_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is worth ~2% on "MCM -a" when running with two Erlang schedulers, and drops rabbit_router:lookup_qpids/1 from #21 to #42 in the fprof analysis of the channel process.
| * | | | | | optimise interaction of limiter with single queuesMatthias Radestock2011-10-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | which is a common case
| * | | | | | switch vq pending_ack from dict to gb_treesMatthias Radestock2011-10-011-14/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The latter are generally more efficient and this gains us 1-2% when running "MCM" with two Erlang schedulers and drops vq:{record,remove}_pending_ack from 25/28th to 32/39th place in the fprof profile of the queue process
| * | | | | | optimise vq:drain_confirmed for the common caseMatthias Radestock2011-10-011-1/+5
| | |_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This gets called on the processing of every event/msg by the queue process and making this change improves throughout of "MCM -a" by ~1% when running with two Erlang schedulers and bumps vq:drain_confirmed from #20 to #36 in an fprof profile of the queue process.
| * | | | | yes, this really does gain ~1% with MCM with two erlang schedulersMatthias Radestock2011-10-011-3/+9
| | |_|_|/ | |/| | |
| * | | | speed up acks a bitMatthias Radestock2011-10-011-10/+5
| | | | | | | | | | | | | | | | | | | | | | | | | gb_trees are generally faster than dicts. Worth 1-2% in "MCM" when running with two Erlang schedulers.
| * | | | refactor: extract gb_trees_fold/3 and gb_trees_foreach/2Matthias Radestock2011-10-013-11/+17
| | | | |
| * | | | refactor: eliminate gratuitous differences in 'confirm' codeMatthias Radestock2011-10-012-17/+17
| | | | |
| * | | | refactor: one gb_trees_cons is quite enoughMatthias Radestock2011-10-013-15/+11
| | | | |
| * | | | a few minor tweaks, essentially cosmeticMatthias Radestock2011-09-301-7/+7
| | | | |
| * | | | avoid creation of intermediate binaries by using io_listsMatthias Radestock2011-09-301-3/+2
| | | | | | | | | | | | | | | | | | | | This is worth 1-2% with "MCM -a" and two Erlang schedulers
| * | | | performance improving short cutMatthias Radestock2011-09-301-0/+2
| | | | | | | | | | | | | | | | | | | | This gains 1-2% when running "MCM -a" with two Erlang schedulers
| * | | | cosmeticMatthias Radestock2011-09-301-2/+1
| | |_|/ | |/| |
| * | | merge bug23764 into defaultMatthias Radestock2011-09-304-175/+340
| |\ \ \
| | * | | correct formattingMatthias Radestock2011-09-301-13/+14
| | | | |
| | * | | merge default into bug23764Matthias Radestock2011-09-303-69/+60
| | |\ \ \ | | |/ / / | |/| | |
| * | | | reformattingMatthias Radestock2011-09-301-57/+46
| | | | |