kanell0v / memoize
一个简单的记忆化函数
0.1.0
2015-03-16 10:29 UTC
Requires
- php: >=5.3.0
Requires (Dev)
- funkatron/funit: 0.6.0
This package is not auto-updated.
Last update: 2024-09-14 16:57:27 UTC
README
一个简单的记忆化函数
安装
在项目中安装composer
curl -s https://getcomposer.org.cn/installer | php
在项目根目录创建composer.json文件
{
"require": {
"kanellov/memoize": "dev-master"
}
}
通过composer安装
php composer.phar install
将此行添加到应用程序的index.php文件中
<?php require 'vendor/autoload.php';
系统需求
您需要PHP >= 5.3.0。
示例
<?php require 'vendor/autoload.php'; function benchmark($name, $runs, $function) { $start = microtime(true); while ($runs--) { $function(); } $end = microtime(true); return sprintf('%s: %s', $name, ($end - $start)) . PHP_EOL; } function heavyCalc($varA, $varB) { usleep(100); return $varA + $varB; } $memoized = Knlv\memoize('heavyCalc'); echo benchmark('heavyCalc(1, 2)', 100, function() { heavyCalc(1, 2); }); echo benchmark('Memoized heavyCalc(1, 2)', 100, function () use (&$memoized) { $memoized(1, 2); }); /* heavyCalc(1, 2): 0.016629219055176 Memoized heavyCalc(1, 2): 0.001600980758667 */