Commit 6e9f3db6 authored by Marc Gravell's avatar Marc Gravell

Investigate #849

parent cc8297cd
......@@ -97,5 +97,34 @@ public void VerifyPerformanceImprovement()
Assert.True(effectiveAsync < effectiveSync, "Everything");
Assert.True(asyncFaF < syncFaF, "Fire and Forget");
}
[Fact]
public async Task BasicStringGetPerf()
{
using (var conn = GetUnsecuredConnection())
{
RedisKey key = Me();
var db = conn.GetDatabase();
await db.StringSetAsync(key, "some value");
// this is just to JIT everything before we try testing
var syncVal = db.StringGet(key);
var asyncVal = await db.StringGetAsync(key);
var syncTimer = Stopwatch.StartNew();
syncVal = db.StringGet(key);
syncTimer.Stop();
var asyncTimer = Stopwatch.StartNew();
asyncVal = await db.StringGetAsync(key);
asyncTimer.Stop();
Output.WriteLine($"Sync: {syncTimer.ElapsedMilliseconds}; Async: {asyncTimer.ElapsedMilliseconds}");
Assert.Equal("some value", syncVal);
Assert.Equal("some value", asyncVal);
// let's allow 20% async overhead
Assert.True(asyncTimer.ElapsedTicks <= (syncTimer.ElapsedTicks * 1.2M));
}
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment