V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
meshell
V2EX  ›  程序员

为 PHP 提供一些要求性能比较高的 FFI 库这种有意义吗?

  •  
  •   meshell · 60 天前 · 1330 次点击
    这是一个创建于 60 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近写了几个 PHP FFI 绑定. https://github.com/TianLiangZhou/ffi-lac 分词 https://github.com/TianLiangZhou/ffi-pinyin 中文拼音 https://github.com/TianLiangZhou/ffi-opencc 繁体

    感觉下来安装门槛有点高。。

    15 条回复    2021-04-25 04:05:04 +08:00
    faqqcn
        1
    faqqcn   60 天前
    我想知道这个提升有多少 😂,很早之前就有听说过,但是一直没有用过
    meshell
        2
    meshell   60 天前
    @faqqcn 目前还没有做性能测试,后续我加加😄
    ericgui
        3
    ericgui   60 天前
    @meshell 嗯,期待你加性能测试
    ericgui
        4
    ericgui   60 天前
    我感觉有意义,但你可以先试着搜索一下,哪些东西是性能瓶颈
    meshell
        5
    meshell   59 天前
    @ericgui 恩,我测试几个开源的对比下
    Felldeadbird
        6
    Felldeadbird   59 天前
    目前我没用过 FFI,但是我看介绍,可以让 PHP 调用别的语言库。那么只要任何编程语言支持 FFI,你的库应该全部通用吧。
    所以我觉得这是一个很有意义的做法。
    meshell
        7
    meshell   59 天前
    @Felldeadbird 没有全部通用,有些不支持 window 的,交叉编译比较麻烦。还有个问题就是依赖问题,如果是静态编译库的库文件会很大。所以有些安装了还是要配置才能用。
    koolob
        8
    koolob   59 天前
    可以提供一个 Dockerfile 。这样会用 docker 的人可以直接运行,不会用的人也可以参考安装步骤。
    towser
        9
    towser   59 天前
    当然很有意义
    meshell
        10
    meshell   59 天前
    @koolob 提供 Dockerfile,也只能是本地跑跑,线上还是要自己搞。我是想用户能直接 composer 就能用得,上面我写得这三个只有一个可以直接使用。可能环境不同,或者版本过低都使用不了🐶
    koolob
        11
    koolob   59 天前
    @meshell #10 那核心做成 pecl 库是不是可以?然后 composer 包用于 php 调用层。类似在 php 上使用 protobuf 。
    meshell
        12
    meshell   59 天前
    @koolob 哈哈这样的话,我觉得跟随 composer 的 bin 配置个 shell script 。用户可以自已配置,也可以执行下命令完成环境配置。🐶
    OMGZui
        13
    OMGZui   59 天前
    支持下
    meshell
        14
    meshell   59 天前
    @OMGZui 谢谢 😄
    lyhiving
        15
    lyhiving   54 天前
    感谢分享
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3337 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 05:39 · PVG 13:39 · LAX 22:39 · JFK 01:39
    ♥ Do have faith in what you're doing.