My favorites | Sign in
Project Home Downloads Wiki Issues Source
Checkout   Browse   Changes    
 
1
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
require 'store_client'

s = StoreClient.new("test", [["localhost", "6666"]])
version = s.put("hello", "1")
raise "Invalid result" unless s.get("hello")[0][0] == "1"
s.put("hello", "2", version)
raise "Invalid result" unless s.get("hello")[0][0] == "2"
s.put("hello", "3")
raise "Invalid result" unless s.get("hello")[0][0] == "3"
s.delete("hello")
raise "Invalid result" unless s.get("hello").size == 0

## test get_all
pairs = [["a1", "1"], ["a2", "2"], ["a3", "3"], ["a4", "4"]]
pairs.each { |k,v| s.put(k,v) }

vals = s.get_all(pairs.map { |k,v| k } )
pairs.each { |k,v|
raise "Invalid result" unless vals[k][0][0] == v
}

requests = 10000

## Time get requests
s.put("hello", "world")
start = Time.new
[1..requests].each { s.get('hello') }
puts "#{requests/(Time.new - start)} get requests per second"

## Time put requests
version = s.put('abc', 'def')
start = Time.new
[1..requests].each { version = s.put('abc', 'def', version) }
puts "#{requests/(Time.new - start)} put requests per second"

## Time get_all requests
keys = pairs.map { |k,v| k }
start = Time.new
[1..requests].each { vals = s.get_all(keys) }
puts "#{requests/(Time.new - start)} get_all requests per second"

## Time delete requests
version = nil
[1..requests].each { |i| version = s.put(i.to_s, i.to_s) }
start = Time.new
[1..requests].each { |i| vals = s.delete(i.to_s, version) }
puts "#{requests/(Time.new - start)} delete requests per second"

Change log

r5 by claudiocherubino on Nov 18, 2009   Diff
extended test.rb with performance
measurement
Go to: 
Project members, sign in to write a code review

Older revisions

r4 by claudiocherubino on Nov 17, 2009   Diff
Revised test.rb to use localhost
r2 by claudiocherubino on Nov 16, 2009   Diff
[No log message]
All revisions of this file

File info

Size: 1477 bytes, 47 lines
Powered by Google Project Hosting