Skip to content

sizeof Mutex types

yoh edited this page May 21, 2020 · 5 revisions

sizeof(Mutex) list for yamc::* mutex types on each 64bit platform. (Debug build)

Type Linux OS X Windows
spin::mutex 4 4 4
spin_weak::mutex 4 4 4
spin_ttas::mutex 4 4 4
checked::mutex 96 120 160
checked::timed_mutex 96 120 160
checked::recursive_mutex 104 128 168
checked::recursive_timed_mutex 104 128 168
checked::shared_mutex 128 152 200
checked::shared_timed_mutex 128 152 200
fair::mutex 104 128 168
fair::recursive_mutex 120 144 184
fair::timed_mutex 120 144 184
fair::recursive_timed_mutex 136 160 200
fair::shared_mutex 136 160 200
fair::shared_timed_mutex 136 160 200
alternate::recursive_mutex 56 80 96
alternate::timed_mutex 96 144 160
alternate::recursive_timed_mutex 104 160 168
alternate::shared_mutex 96 120 160
alternate::shared_timed_mutex 96 120 160
alternate::basic_shared_mutex<rwlock::ReaderPrefer> 96 120 160
alternate::basic_shared_mutex<rwlock::WriterPrefer> 104 128 168
alternate::basic_shared_timed_mutex<rwlock::ReaderPrefer> 96 120 160
alternate::basic_shared_timed_mutex<rwlock::WriterPrefer> 104 128 168

sizeof(Mutex) list of C++ Standard Library:

Type Linux OS X Windows
std::mutex 40 64 80
std::timed_mutex 40 120 160
std::recursive_mutex 40 64 80
std::recursive_timed_mutex 40 128 160

sizeof(Mutex) list for Platform-specific types:

Type Linux masOC Windows
posix::native_mutex 40 64
posix::native_recursive_mutex 40 64
posix::rwlock 56 200
posix::spinlock 4
apple::unfair_lock 4
win::native_mutex 8
win::critical_section 40
win::slim_rwlock 8
Clone this wiki locally