我最近在 Scribd 上的一个演示中读到,Facebook 对 APC 的各种锁定机制进行了基准测试,包括文件锁(默认)、IPC 信号量锁、linux Futex 锁、pthread 互斥锁和自旋锁。您可以通过单击以下链接查看此演示文稿:APC@Facebook
我想知道是否有人立即知道这些源代码是否已发布,也许在 git 或 SVN 存储库中的某个地方?从默认文件锁定切换到其他选择之一的速度优势似乎非常显着。
最佳答案
是的,它们包含在 http://pecl.php.net/package/APC 上提供的源代码中.
请注意,您必须在编译时选择此选项,更准确地说:在 ./configure 时。以下是./configure的相关选项:
--enable-apc-sem Enable semaphore locks instead of fcntl
--disable-apc-pthreadmutex Disable pthread mutex locking
--enable-apc-spinlocks Enable spin locks EXPERIMENTAL
如您所见,pthread 互斥锁定现在已经是默认设置。
关于php - 如何更改替代 PHP 缓存 (APC) 中的锁定机制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1671069/