Press "Enter" to skip to content

Yac 2.4.0发布 - 小值读取提升70%

Yac 2.4.0 来了。起因是博客缓存被空数组挤爆:WordPress 的搜索负缓存和 Akismet 的 cron 会写入大量没人读的空数组,持续吃 values 内存还引发 recycle 误伤。这个版本最大的改动是 embedded values——小标量直接编码进 slot 的指针字,不再写 values 区;另有 LZ4 替换 FastLZ(解压快 ~3.5x)、get() 支持 $default、dump() 支持分页与逐条 hits/atime 统计。混合负载读取提升 70%,我的博客 values 内存从 23.5M 降到 12.4M。

Filed in AI Coding, PHP7, PHP8, PHP应用
with 0 Comment

PHP8.0的Named Parameter

年前花了点时间,对Yar的性能做了一些做了一些提升,但是也遇到一个让我有点不舒服的当初没有良好设计遗留的问题,就是在并行调用RPC的时候,现在的方法原型是:

public static Yar_Concurrent_Client::call(string $uri, string $method, ?array $arguments = NULL, ?callable $callback = NULL, ?callable $error_callback = NULL, ?array $options = NULL):null|int|bool {}

是不是一看就很头大?

Filed in PHP应用, 随笔
with 25 Comments

关于PHP,关于Realsee

从PHP8.0之后,我参与PHP开源就少了,从而博客也写的少了,不少朋友来问,所以觉得有必要用一篇文章说明下近况。

总的来说,本职工作发生了一些变化,导致工作上的事情,牵扯了太多的精力,从而没有办法有太多的精力投入PHP开源工作中。

而关于,工作的变化,我稍微详细的介绍下:

Filed in 随笔
with 40 Comments

一个关于if else容易迷惑的问题

这个本来是之前在微博上有个同学说他经常用来面试别人,大概是说,对于如下代码,你觉得会输出啥:

$a = true;
if ($a) {
  echo "true";
} else label: {
  echo "false";
}

当时没想写,今天中午又有人问我,我想那就介绍下这个原因吧.

Filed in 随笔
with 43 Comments