ale/string-array

dev-master 2016-04-12 22:00 UTC

This package is not auto-updated.

Last update: 2024-09-20 19:14:42 UTC


README

Build Status Code Coverage Scrutinizer Code Quality Latest Stable Version Total Downloads License

这是一个实验性库,旨在在PHP中提供类似于C语言的数组的访问。我无法说这是不是一个好主意,这主要取决于你的使用场景。

当前的实现使用PHP字符串来避免使用PHP原生Zvals哈希表实现数组的内存开销。这牺牲了速度以换取内存。

为了获得更多(但更慢的)内存,你可以考虑将字符串的部分移入文件中。

作为一个非正式的例子,一个10000x1000的StringArray(1000万个数据单元)大约占用40MB,在一个还可以的笔记本电脑上填充大约需要10秒。同样的操作在嵌套的PHP数组中大约需要一半的时间,但需要1.4GB。我可以轻松测试一个10000x10000的StringArray,大约需要400MB,但用原生PHP数组测试这么大的数组就变得不可行。

问题可能很合理:“有什么可能的使用场景需要这么多的内存,但又愿意花费这么多时间?”好吧,我将这个问题留给你。

安装

可以使用Composer通过将string-array作为依赖项添加到项目的composer.json文件中来安装。

{
    "require": {
        "ale/string-array": "*"
    }
}

有关更详细安装和使用说明,请参阅Composer的文档

使用方法

@todo

TODO

我不确定这些功能何时会完成。

  • 测试
  • 目前,仅处理32位整数。应该可以处理更多类型,字符将非常简单。