ale / string-array
dev-master
2016-04-12 22:00 UTC
Requires
- php: >=5.3.0
Requires (Dev)
- pdepend/pdepend: ~1.0
- phploc/phploc: ~2.0
- phpmd/phpmd: ~1.0
- phpunit/phpunit: ~3.0
- scrutinizer/ocular: ~1.0
- sebastian/phpcpd: ~2.0
This package is not auto-updated.
Last update: 2024-09-20 19:14:42 UTC
README
这是一个实验性库,旨在在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位整数。应该可以处理更多类型,字符将非常简单。