monoless/arrays 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

monoless/arrays

Composer 安装命令:

composer require monoless/arrays

包简介

array class implementation

README 文档

README

--

goal

implementation typed array with less usage of memory.

example

<?php
define('ARRAY_LENGTH', 10000);
$start_memory = memory_get_usage();

$entries = new \Monoless\Arrays\FixedUnsignedIntegerArray(ARRAY_LENGTH);
for ($i = 0; $i < ARRAY_LENGTH; $i++) {
    $entries[$i] = mt_rand(0, 255);
}

$memory = memory_get_usage() - $start_memory;
echo "fixed unsigned integer array memory usage : {$memory}\n";

$start = microtime(true);

$result = 0;
for ($i = 0; $i < ARRAY_LENGTH; $i++) {
    $result += $entries[$i];
}

$time_elapsed_secs = microtime(true) - $start;
echo "for iterator fixed unsigned integer array : {$time_elapsed_secs}\n";

// legacy array
$start_memory = memory_get_usage();

$rands = [];
for ($i = 0; $i < ARRAY_LENGTH; $i++) {
    $rands[] = mt_rand(0, 255);
}

$memory = memory_get_usage() - $start_memory;
echo "legacy array memory usage : {$memory}\n";

$start = microtime(true);

$result = 0;
for ($i = 0; $i < ARRAY_LENGTH; $i++) {
    $result += $rands[$i];
}

$time_elapsed_secs = microtime(true) - $start;
echo "for iterator legacy array : {$time_elapsed_secs}\n";
# fixed unsigned integer array memory usage : 41072
# for iterator fixed unsigned integer array : 0.0032491683959961

# legacy array memory usage : 528440
# for iterator legacy array : 0.00018191337585449

history

  • 2019/11/26 - Make FixedUnsignedIntegerArray Countable Again!
  • 2019/11/24 - adding FixedUnsignedIntegerArray class

统计信息

  • 总下载量: 3
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2019-11-24

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固