Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4183833
  • 博文数量: 601
  • 博客积分: 15410
  • 博客等级: 上将
  • 技术积分: 6884
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-16 08:11
个人简介

独学而无友,则孤陋而寡闻!

文章分类

全部博文(601)

文章存档

2020年(1)

2018年(4)

2017年(7)

2016年(42)

2015年(25)

2014年(15)

2013年(36)

2012年(46)

2011年(117)

2010年(148)

2009年(82)

2008年(37)

2007年(41)

分类:

2010-08-09 18:09:55

1、比较项目: 数组动态分配
  (1)

function get_permission($perm){

   $perm_num = ord($perm);
   $result = array(FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE);
   $result[0] = 1&$perm_num ? TRUE : FALSE ;
   $result[1] = 2&$perm_num ? TRUE : FALSE ;
   $result[2] = 4&$perm_num ? TRUE : FALSE ;
   $result[3] = 8&$perm_num ? TRUE : FALSE ;
   $result[4] = 16&$perm_num ? TRUE : FALSE ;
   $result[5] = 32&$perm_num ? TRUE : FALSE ;
   $result[6] = 64&$perm_num ? TRUE : FALSE ;
   $result[7] = 128&$perm_num? TRUE : FALSE ;

   return($result);
 }


  运行20000次,大约0.835-0.860s

  (2)

function get_permission($perm){

   $perm_num = ord($perm);
// $result = array(FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE);
   $result[] = 1&$perm_num ? TRUE : FALSE ;
   $result[] = 2&$perm_num ? TRUE : FALSE ;
   $result[] = 4&$perm_num ? TRUE : FALSE ;
   $result[] = 8&$perm_num ? TRUE : FALSE ;
   $result[] = 16&$perm_num ? TRUE : FALSE ;
   $result[] = 32&$perm_num ? TRUE : FALSE ;
   $result[] = 64&$perm_num ? TRUE : FALSE ;
   $result[] = 128&$perm_num? TRUE : FALSE ;

   return($result);
 }


   运行20000次,大约0.750-0.770s

(3) if语句

function get_permission2($perm){
  $perm_num = ord($perm);
  $result = array(FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE);
  if (1&$perm_num) $result[0]=TRUE;
  if (2&$perm_num) $result[1]=TRUE;
  if (4&$perm_num) $result[2]=TRUE;
  if (8&$perm_num) $result[3]=TRUE;
  if (16&$perm_num) $result[4]=TRUE;
  if (32&$perm_num) $result[5]=TRUE;
  if (64&$perm_num) $result[6]=TRUE;
  if (128&$perm_num) $result[7]=TRUE;

  return($result);
 }


   运行20000次,大约:0.746-0.761s

function get_permission2($perm){
  $perm_num = ord($perm);
// $result = array(FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE);
  if (1&$perm_num) $result[]=TRUE; else $result[]=FALSE;
  if (2&$perm_num) $result[]=TRUE; else $result[]=FALSE;
  if (4&$perm_num) $result[]=TRUE; else $result[]=FALSE;
  if (8&$perm_num) $result[]=TRUE; else $result[]=FALSE;
  if (16&$perm_num) $result[]=TRUE; else $result[]=FALSE;
  if (32&$perm_num) $result[]=TRUE; else $result[]=FALSE;
  if (64&$perm_num) $result[]=TRUE; else $result[]=FALSE;
  if (128&$perm_num) $result[]=TRUE; else $result[]=FALSE;

  return($result);
 }

  运行20000次,大约:0.741-0.760s

2、总结:
  (1)动态分配要比事先分配更快一些。
  (2)if要比?:更快一点
阅读(1550) | 评论(0) | 转发(0) |
0

上一篇:PHP打印二进制形式

下一篇:WebGL

给主人留下些什么吧!~~