public
Rubygem
Description: A rails DB-based queue plugin
Clone URL: git://github.com/matthewrudy/rudeq.git
Search Repo:
revised benchmarks since move to PessimisticLock => MUCH FASTER
matthewrudy (author)
Fri Jul 25 06:44:28 -0700 2008
commit  d5b9d93c50ec1396da89c9dc8e94927c907a1bd3
tree    eb83314672cb5d0c75f18f63998bf06c824e549b
parent  cbad1f3096a196e94675ee950d43fd17b93eedf6
...
2
3
4
5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6
 
7
8
9
...
13
14
15
16
 
 
 
 
 
17
18
19
...
2
3
4
 
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
...
31
32
33
 
34
35
36
37
38
39
40
41
0
@@ -2,8 +2,26 @@
0
   A quick benchmark vs Starling
0
   doesn't deal with contention
0
   running in Production mode
0
- with 50,000 pre-existing RudeQueue items
0
+
0
+ # empty queue
0
+ user system total real
0
+ rudequeue 30.630000 1.050000 31.680000 ( 44.472249)
0
+ starling - one 1.450000 0.550000 2.000000 ( 11.144641)
0
+ starling - many 1.160000 0.420000 1.580000 ( 18.012299)
0
+
0
+ # after 1st run -> 10,000 :processed items
0
+ user system total real
0
+ rudequeue 30.910000 1.090000 32.000000 ( 45.863217)
0
+ starling - one 1.380000 0.530000 1.910000 ( 12.189596)
0
+ starling - many 1.110000 0.390000 1.500000 ( 17.231946)
0
+
0
+ # after 5th run -> 50,000 :processed items
0
+ user system total real
0
+ rudequeue 33.670000 1.090000 34.760000 ( 47.945849)
0
+ starling - one 1.340000 0.510000 1.850000 ( 12.792256)
0
+ starling - many 1.140000 0.410000 1.550000 ( 18.573452) >> @starlings.length => 148
0
 
0
+ # with the deprecated TokenLock
0
                      user system total real
0
   rudequeue 49.060000 2.970000 52.030000 ( 77.439360)
0
   starling - one 1.710000 0.890000 2.600000 ( 11.684323)
0
@@ -13,7 +31,11 @@
0
   MySQL 5
0
   ruby 1.8.6
0
 
0
- To run this,
0
+ key points:
0
+ If you don't need items to persist, should destroy on processed!
0
+ (need to implement this!)
0
+
0
+ To run this benchmark;
0
   
0
   :~ $ sudo gem install starling
0
   :~ $ starling -d

Comments

    No one has commented yet.