freecache
freecache copied to clipboard
use RWMutex when no TTLs are used
Segments are guarded by a sync.Mutex. If the user promises to not use TTLs at construction time (with an option), these locks could be changed to sync.RWMutex for increased throughput in read-predominant, highly concurrent workloads.
We could also stop tracking the access time entirely, which would allow us to pack more data in the same size, as well as squeeze a little bit more performance (time.Now() translates into a syscall).
RWMutex may perform worse than Mutex if there is very little contention.
RWMutexmay perform worse thanMutexif there is very little contention.
Can u explain more about why RWMutex may perform worse than Mutex ?
RWMutexmay perform worse thanMutexif there is very little contention.Can u explain more about why RWMutex may perform worse than Mutex ?
RWMutex does more work than Mutex for Lock operation.