KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Is there a faster kind of TMultiReadExclusiveWriteSynchronizer out there? FastCode perhaps? Starting with Windows Vista, Microsoft added a Slim Reader/Writer lock . It performs much better than Delphi's TMultiReadExclusiveWriteSynchronizer . Unfortunately it only exists in Windows Vista and later, something which few customers actually have yet. Presumably the concepts in use inside a Slim Reader/Writer lock could be redone in native Delphi code - but has anyone done it? i have a situation where acquiring and releasing locks on a TMultiReadExclusiveWriteSynchronizer (even when there's no contention - a single thread), causes 100% overhead (the operation time doubles). i can run without locking, but then my class is no longer thread-safe. Is there a faster TMultiReadExclusiveWriteSynchronizer ? Note : If i use a TCriticalSection i only suffer a 2% performance hit (although critical sections are known to be fast when the acquire succeeds, i.e. while it's single threaded and there's no contention). The downside of a CS is that i lose the " multiple readers " capability. The Measurements Using TMultiReadExclusiveWriteSynchronizer a sizable amount of time is spent inside BeginRead and EndRead : i then ported the code to use Window's own SlimReaderWriter Lock (which some code rewrite, as it doesn't support recursive lock taking), and profiled the resutls:
Tags (comma-separated)
Save Edits
Cancel