Yichun Zhang
Yichun Zhang
Can we make this configurable at runtime? Like via an nginx config directive? The user must choose at build time is very sad especially for pre-built binary packages.
@p0pr0ck5 I think you can just make the locking and unlocking calls function pointers? So that we can switch them at runtime? Extra C function calls may have a little...
@p0pr0ck5 Runtime selection is necessary for pre-built binary packages of OpenResty otherwise it is not doable.
@p0pr0ck5 BTW, inline functions should be the same as macros performance wise but much cleaner and safer. But here it seems like we really need function pointers or extra branch...
@p0pr0ck5 It's sufficient if we can control that at config time. We don't need to do this at Lua runtime.
@rushi47 Your example is incomplete. We need something that we can directly run and reproduce the problem easily on our side. It's still not clear for example that how your...
@rushi47 Also, you called the `connect()` method in your top-level code, but it is never defined in your "eg-modules.redis_extended" module.
Need some actual benchmark numbers to make sure we have no measurable performance regression for the original use cases. Also, I wonder if we can use debugging logs to cover...
Also, need some concrete benchmark numbers for the cases rwlock is a win.
BTW, using `get_keys()` with large count argument on big shdict is a wrong use case anyway. No sane key-value stores would support such extreme operations very well anyway. So I...