> using StackExchange.Redis MGET
Yeah, there's really no way for me to dodge this, is there? ;p
Minor note: your parallel code currently doesn't actually allow any
meaningful parallelism - you *might* want to move the "lock" so that you
only "lock" around the "Add". You're also currently doing a "sync over
async" here - I'd probably use:
var results = db.StringGet(rKeys);
but that is unrelated to the real question here. The
_serializer.Deserialize(RedisValue) API you're using isn't something that
is directly exposed on protobuf-net, so I'd be grateful if I could see that
code. I'm *guessing* it is something like:
using (var ms = new MemoryStream((byte[])value))
{
return Serializer.Deserialize<MyObject>(ms);
}
?
If that is right, then ... it gets tricky; to give a really meaningful
analysis, I'd kinda have to see something akin to realistic data. Is there
anything I can do to setup an indicative minimal repro here? Or is there
anything you can share with me that I can work with to try and repro what
you're seeing? My preference here is a randomized data creation script like
my example, but if the data doesn't contain anything privileged, an RDB
file (from redis) might work, too.
As I say: I can a range of in-progress changes that might help *anyway*,
but it would be great if I could actually test things to see how it
performs. If this allows me to confirm that the proposed changes make a
good improvement, I can always just ship those! But there may be other
things I can do here too. The key thing is again, to emphasize: me being
able to reproduce what you're seeing - because right now, I'm getting ~1ms
times.
Marc
--
You received this message because you are subscribed to the Google Groups
"Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/protobuf.
For more options, visit https://groups.google.com/d/optout.