summaryrefslogtreecommitdiff
path: root/src/bpqueue.erl
Commit message (Collapse)AuthorAgeFilesLines
* Drop unneeded queue impls, tidy lqueue, add specs etcMatthew Sackman2011-10-021-273/+0
|
* Add 2,3-finger_tree implementation.Matthew Sackman2011-09-261-1/+1
|
* bpqueue is very dependent on the performance of queue:join. fqueue makes ↵Matthew Sackman2011-09-231-32/+34
| | | | queue:join O(1) and maintains O(1) on other operations bpqueue cares about
* Update .erl and .hrl license boilerplatesMatthew Sackman2011-01-191-26/+11
|
* Merging default into bug21673 and correcting specs and typesMatthew Sackman2010-07-071-0/+2
|
* cosmeticMatthias Radestock2010-05-141-43/+28
|
* One more test, and simplification of the bpqueue:to_list functionMatthew Sackman2010-05-131-4/+1
|
* Improved documentation and added additional tests for bpqueueMatthew Sackman2010-05-131-6/+12
|
* cosmeticMatthias Radestock2010-05-041-10/+14
|
* cosmeticMatthias Radestock2010-05-041-2/+4
|
* Fix the refactoring which broke bpqueueMatthew Sackman2010-04-121-4/+4
|
* Apparently, abuse of empty queues is unsightly. Also, minor improvement to ↵Matthew Sackman2010-04-121-4/+5
| | | | documentation
* refactorMatthias Radestock2010-04-121-40/+33
|
* Merging default into bug21673 and correcting further copyright datesMatthew Sackman2010-02-101-3/+3
|
* Refactoring of bpqMatthew Sackman2010-01-151-129/+82
|
* Much better. The reason why batching is important is because if you're ↵Matthew Sackman2010-01-131-37/+127
| | | | walking through the bpqueue and doing very little work before stopping then you don't really get the amortised constant time behaviour. But the goal is achieved - throughput is maintained and very slowly diminishes with no major interruptions and the queue gets fuller and the transition is made to betas and then deltas.
* Mechanism to limit the number of betas which don't have their index on disk ↵Matthew Sackman2010-01-131-1/+69
| | | | is now in. Testing showed that if the queue is long, the change in target_ram_msg_count can be large, thus driving the number of ram indices directly off that still doesn't solve the problem. Thus am driving it from publish, with a limit on the maximum amount of work that can be done. This should allow the queue to remain responsive, as it works towards its goal. However, further testing, tuning and thinking is still needed.
* Refactoring of vq - pulled out the inlined block-prefix queue code and ↵Matthew Sackman2010-01-131-0/+185
generally tidied profusely. Also efficiency fix in remove_queue_entries by avoiding an intermediate list (which could potentially be massive).