2

我最近在 Scribd 上的一个演示文稿中读到,Facebook 对 APC 的各种锁定机制进行了基准测试,包括文件锁(默认)、IPC 信号量锁、linux Futex 锁、pthread 互斥锁和自旋锁。您可以通过单击以下链接查看此演示文稿:APC@Facebook

我想知道是否有人知道这些源代码是否已发布,也许在某个地方的 git 或 SVN 存储库中?从默认文件锁定切换到其他选择之一的速度优势似乎很重要。

4

2 回答 2

6

是的,它们包含在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 互斥锁现在已经是默认设置了。

于 2009-11-04T13:03:21.427 回答
0
vi /etc/php.d/99_apc.ini

然后设置:

; Locking type = spinlock
extension = apc-spinlocks.so

或者

; Locking type = IPC Semaphore
extension = apc-sem.so

等等

于 2013-07-23T04:50:50.360 回答