STL map 、PHP HashTable、hash_map 性能比较
来源:互联网 发布:mac下载软件怎么安装 编辑:程序博客网 时间:2024/06/05 13:31
结果是 hash_map 性能远胜 PHP HashTable、PHP HashTable 性能明显优于 STL Map。(所有结果都在一台系统是Windows XP、编译器是Visual Studio 2008、PHP版本是 5.2.14的机器上做的)
详细结果如下(容器类都含有 10000 条数据,均执行 10000 填充、20000000 次查找操作)
PS:PHP的HashTable是预先分配大小,无法自动增长的。另外2个是自动增长的。
STL Map:41.1736359596 秒
PHP HashTable: 8.20506501198 秒
hash_map: 0.0426259040833 秒
另外,map 以及 hash_map 的均为MS实现,不代表在其它平台上的结果。 测试的源代码如下:
执行入口:
多次执行:
42.4845600128
8.30684089661
0.0404770374298
41.8795220852
8.63965702057
0.0418040752411
二:怎么把ThinkPHP的RBAC应用到整个项目
新建一个BaseAction.class.phpfunction _initialize() { header('Content-Type:text/html;charset=utf-8'); // 用户权限检查 if (C('USER_AUTH_ON') && !in_array(MODULE_NAME, explode(',', C('NOT_AUTH_MODULE')))) { import('ORG.Util.RBAC'); if (!RBAC::AccessDecision()) { //检查认证识别号 if (!$_SESSION [C('USER_AUTH_KEY')]) { //跳转到认证网关 redirect(PHP_FILE . C('USER_AUTH_GATEWAY')); } // 没有权限 抛出错误 if (C('RBAC_ERROR_PAGE')) { // 定义权限错误页面 redirect(C('RBAC_ERROR_PAGE')); } else { if (C('GUEST_AUTH_ON')) { $this->assign('jumpUrl', PHP_FILE . C('USER_AUTH_GATEWAY')); } // 提示错误信息 $this->error(L('_VALID_ACCESS_')); } } } 让所有的action都继承这个。class IndexAction extends BaseAction{三:函数相集合
定义和用法
strrchr() 函数查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符。
如果成失败,否则返回 false。
语法
strrchr(string,char)
提示和注释
注释:该函数是二进制安全的。
定义和用法
stripos() 函数返回字符串在另一个字符串中第一次出现的位置。
如果没有找到该字符串,则返回 false。
语法
stripos(string,find,start)
提示和注释
注释:该函数对大小写不敏感。如需进行对大小写敏感的搜索,请使用 strpos() 函数。
定义和用法
ucwords() 函数把字符串中每个单词的首字符转换为大写。
语法
ucwords(string)
例子
<?phpecho ucwords("hello world");?>
输出:
Hello World
- STL map 、PHP HashTable、hash_map 性能比较
- map 与 hash_map 性能比较
- map hash_map unordered_map 性能比较
- STL:map与hash_map
- 【STL】 map、hash_map、迭代器
- STL map 和 hash_map
- B+Tree/Hash_Map/STL Map三种数据结构性能
- hash_map map 比较
- [STL基础]map映射,hash_map
- STL中的map、unordered_map、hash_map
- hash_map快于STL中的map
- stl: map和hashmap比较 hashmap与hashtable
- STL学习——STL中的关联式容器总结(RB-tree、set、map、hashtable、hash_set、hash_map)
- 从set/map谈到hashtable/hash_map/hash_set
- 从set/map谈到hashtable/hash_map/hash_set
- c++ map hash_map unordered_map 比较
- map和hash_map的比较
- map和hash_map的比较
- 畅通工程续
- sqlite limit用法
- uva128 - 软件CRC
- 笔记:Linux shell(一): 简单入门
- AVPicture中data与linesize关系
- STL map 、PHP HashTable、hash_map 性能比较
- 算法:堆栈与深度优先搜索(迷宫问题)
- 可输入的下拉框
- 客户端防表单重复提交和服务器端session防表单重复提交
- 不可错过的250款独立游戏(珍藏版)
- static_cast, dynamic_cast和reinterpret_cast的区别和应用(转载)
- hadoop中的公平调度的实现算法
- .net动态生成控件,获取属性
- perl中our的用法