From d33c0a52b9e1d1e7c07378b685e66ffea772647d Mon Sep 17 00:00:00 2001 From: Jonathan Leibiusky Date: Thu, 2 Dec 2010 01:47:18 -0300 Subject: [PATCH] Add benchmark for hashing algos --- .../tests/benchmark/HashingBenchmark.java | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 src/test/java/redis/clients/jedis/tests/benchmark/HashingBenchmark.java diff --git a/src/test/java/redis/clients/jedis/tests/benchmark/HashingBenchmark.java b/src/test/java/redis/clients/jedis/tests/benchmark/HashingBenchmark.java new file mode 100644 index 0000000..95a7991 --- /dev/null +++ b/src/test/java/redis/clients/jedis/tests/benchmark/HashingBenchmark.java @@ -0,0 +1,50 @@ +package redis.clients.jedis.tests.benchmark; + +import java.io.IOException; +import java.net.UnknownHostException; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Collection; +import java.util.List; + +import redis.clients.jedis.Jedis; +import redis.clients.jedis.JedisShardInfo; +import redis.clients.jedis.ShardedJedis; +import redis.clients.jedis.tests.HostAndPortUtil; +import redis.clients.jedis.tests.HostAndPortUtil.HostAndPort; + +public class HashingBenchmark { + private static HostAndPort hnp1 = HostAndPortUtil.getRedisServers().get(0); + private static HostAndPort hnp2 = HostAndPortUtil.getRedisServers().get(1); + private static final int TOTAL_OPERATIONS = 100000; + + public static void main(String[] args) throws UnknownHostException, + IOException { + List shards = new ArrayList(); + JedisShardInfo shard = new JedisShardInfo(hnp1.host, hnp1.port); + shard.setPassword("foobared"); + shards.add(shard); + shard = new JedisShardInfo(hnp2.host, hnp2.port); + shard.setPassword("foobared"); + shards.add(shard); + ShardedJedis jedis = new ShardedJedis(shards); + Collection allShards = jedis.getAllShards(); + for (Jedis j : allShards) { + j.flushAll(); + } + + long begin = Calendar.getInstance().getTimeInMillis(); + + for (int n = 0; n <= TOTAL_OPERATIONS; n++) { + String key = "foo" + n; + jedis.set(key, "bar" + n); + jedis.get(key); + } + + long elapsed = Calendar.getInstance().getTimeInMillis() - begin; + + jedis.disconnect(); + + System.out.println(((1000 * 2 * TOTAL_OPERATIONS) / elapsed) + " ops"); + } +} \ No newline at end of file