Press "Enter" to skip to content

使用OSC52实现iTerm2远程pbcopy

最高效的码字方式,一定有一个特点,那就是手指离开键盘的次数尽可能的少。 并且手指码字的时候的在键盘的跨度尽可能的短, 这也是我认识不少老牌程序员用Vim也不用ESC, 而是使用ctrl+[, 甚至还有这:

从而避免手指在键盘上的跨越幅度太大。

Filed in GNU C/C++, 随笔
with 6 Comments

Yaf 3.2 发布

经过俩周多的重构,终于一咬牙今天发布了Yaf 3.2.0 beta, 要不然一直在想各种可能的优化点,不停的写,没完了, 🙂

这次的重构的最初出发点是把原来的Yaf对象从PHP的原生对象,改成了自定义的对象:

Filed in PHP应用, 转载
with 15 Comments

使用PHP Socket开发Yar TCP服务

Yar支持HTTP和TCP俩种Transporter, HTTP的是基于CURL,PHP中的Yar默认就是走的HTTP Transporter, 这个大家应该都不陌生, 但是基于TCP的, 可能大家会用的少一些。
今天我们尝试用PHP来写一个TCP的Server,来介绍下如何实现对Yar RPC协议的处理, 这个例子可以方便的结合Swoole等异步PHP框架,实现一个高性能的Yar TCP Server。 这个过程中, 会让大家了解Yar的RPC通信协议,以及捎带了解下Socket编程。

Filed in PHP7, PHP应用
with 18 Comments

Yac 2.1 升级说明

Yac (Yet Another cache)也是之前我在微博的时候开发的一个为PHP使用的,Lock-free, Shared Memory, User Data Cache,用来替代当时微博在PHP机器上装的本地Memcache, 因为当时的需求特点,最初做了完全无锁的设计,但是这样有一个隐患就是用户有可能获得“错误”的数据,虽然之前的测试概率非常非常低。 关于Yac的设计,可以参考我7年前写的Yac (Yet Another Cache) - 无锁共享内存Cache

作为我的Ya全家桶的重要一员, 在我优化完一轮Yaf, Yar, Yaconf以后,Yac当然也不能少了。

Filed in PHP7, PHP应用, 随笔
with 4 Comments

Yar-2.1 新功能介绍

Yar(Yet Another RPC framework)是一个轻量级支持并行调用的PHP RPC框架,是我还在微博的时候为了优化微博的性能而开发的一个工具,Yar的并行调用在微博被大量应用以降低用户请求耗时。

最近还是因为疫情,我把Yaf,Yaconf都优化了一轮,今天也完成了Yar的优化(事实上,Yar之前写的就还不错,没啥可优化的,哈哈),也新增了俩个能力。我来简单介绍下:

Filed in PHP应用, 转载
with 7 Comments

Yaf-3.1 10%性能提升版

Yaf(Yet Another Framework)是我的第一个发布的PECL扩展,也是我走上PHP内核维护的开始,我一直对它比较有感情,Yaf在过去的8年多时间里,也得到了不少朋友的喜爱,当然Yaf还是有很多不足,但毕竟Yaf主要还是针对性能场景,不能满足所有的需求。

即然Yaf == 性能,借着疫情的在家时间,又花了一些时间对Yaf做了一轮优化,希望能对性能有进一步的提升。

Filed in PHP应用, 随笔
with 11 Comments

Yaconf-1.1 40%速度提升版

Yaconf是一个高性能的PHP配置容器, 它在PHP启动的时候把格式为INI的配置文件Parse后存储在PHP的常驻内存中,不需要每次请求的时候都来分析配置文件,并且在获取配置项的时候"zero-copy",具体的介绍可以看我2015年发布的时候写的介绍:Yaconf - 一个高性能的配置管理扩展

最近因为疫情,我对Yaconf做了一系列的重构,主要是减少取过程中的内存使用,基本重写了整体的逻辑,那性能优化的结果如何呢? 我们来做个简单的测试。

Filed in PHP应用, 随笔
with 3 Comments

PHP FFI详解 - 一种全新的PHP扩展方式

随着PHP7.4而来的有一个我认为非常有用的一个扩展:PHP FFI(Foreign Function interface), 引用一段PHP FFI RFC中的一段描述:

For PHP, FFI opens a way to write PHP extensions and bindings to C libraries in pure PHP.

是的,FFI提供了高级语言直接的互相调用,而对于PHP来说,FFI让我们可以方便的调用C语言写的各种库。

Filed in PHP应用, PHP源码分析
with 10 Comments