草庐IT

Performance

全部标签

php - CodeIgniter Performance 多次加载 View 与 View 循环

我正在尝试解决可能的缩放性能问题。这两种情况是否有更明显的性能优势:场景一:多次调用以加载View并每次传递少量数据Controllerpublicfunctionindex(){$this->load->view('header');$this->load->view('table_head');$results=$this->db->select('*')->from('table')->get()->result_array();foreach($resultsas$key){$this->load->view('table_row',$key);}$this->load->vi

php - 使用 JSMin.php 缩小 Javascript

我有一个在服务器端使用JSMin缩小的网站。问题是我的服务器在实现JSMin后变慢了发生这种情况是因为有一些url导入了一些其他特定文件,并且这些文件被添加到缩小的文件中。现在我想知道我是否应该始终将这些特定脚本加载到一个缩小的大文件中,或者我是否应该忘记这种方法并将脚本作为单独的文件导入。我正在使用ZendFramework1.11.x和BundlePhu+JSMin 最佳答案 我在许多项目中实现过的最佳解决方案是将所有javascript拆分为最大200kb的有限文件。我总是将JS分成两个(或很少三个)文件。第一个是库(jque

php - 存储数据的数组或对象 - 什么是更好的解决方案

我只是在想什么可以给我更好的性能和内存使用率。我正在为游戏编写map。一切都存储在“map”类中,但map可能有数千个图block。现在我在想什么是更好的解决方案:将每个图block参数保存在x-y数组中(图blockx=10,y=11数据存储在像map[10][11]=params这样的数组中),如果我想知道关于图block的一些信息,请调用不同的数组x-y参数将瓷砖视为一个对象并制定方法,它可以轻松返回瓷砖的邻居,所有数据也作为数组存储在每个对象中的某个地方。因为我可能有数千个类似的图block,所以第一印象是它最适合oop编程,但我担心数以千计的对象图block可能会占用更多内存

php - 数组根据索引删除重复项/保留第一次出现

我写了一个简单的算法来只存储我的艺术家数组中第一次出现的名字。我不关心艺术家ID。该算法运行良好,但我担心性能。如果$performers数组是200位艺术家,有没有人看到一种更简单的编写方法也可以提高性能?$performers=array(array('id'=>'12','name'=>'Grouplove'),array('id'=>'24','name'=>'Grouplove'),array('id'=>'43','name'=>'Coldplay'));$tmp=array();foreach($performersas$performer){$count=0;forea

php - 获取文本文件的前 100 个字符和后 100 个字符

我有一个文本文件,在该文本文件中,只有几行但包含大约5-10百万个字符。我正在使用file_get_contents但是因为它读取整个文件所以性能变得非常慢并且有时在执行时挂起。有没有更有效的方法来获取前100个字符和最后100个字符? 最佳答案 试试这个来获取前100个字符:$fp=fopen('test.txt','r');$data=fread($fp,100);echo$data;fclose($fp);并获取最后100个字符:$fp=fopen('test.txt','r');fseek($fp,-100,SEEK_END

php - 是否有更有效的方法来创建年/月列表?

我想在一个页面上动态列出年份和每年的所有月份,以便可以查看每个月的存档。我想先显示当年,但今年可能还没有结束,所以我只想显示过去的月份和当前月份。然后我想要自今年(即2008年)以来过去的所有年份和所有月份。我创建的执行此工作的PHP代码如下。有没有更有效的方法来实现这一目标?我正在运行PHP5.2。$current_year=date('Y');$months=array(1,2,3,4,5,6,7,8,9,10,11,12);//Loopthroughallthemonthsandcreateanarrayuptoandincludingthecurrentmonthforeach

php - 阵列克隆的性能

我们都知道$a1=array('foo');$a2=$a1;$a2[0]='bar';//now$a1[0]isfoo,and$a2[0]isbar.Thearrayiscopied然而,我记得读过但无法通过谷歌搜索确认的是,数组在内部不会被复制,直到它被修改。$a1=array('foo');$a2=$a1;//我想知道这是不是真的。如果是这样,那就太好了。当大量传递一个大数组时,它会提高性能,但无论如何只从它读取(在创建它一次之后)。 最佳答案 它可能比您想知道的要多,但是thisarticle很好地描述了变量在PHP中的工作方

PHP回显性能

我总是在PHP中使用输出变量,在回显之前收集所有内容。然后我在某个地方(虽然我不记得在哪里)读到,如果将输出变量拆分为数据包,然后回显每个数据包而不是整个输出变量,你会获得最佳性能。到底怎么样? 最佳答案 如果要使用echo输出非常大的字符串,最好使用多个echo语句。这是因为方式Nagle'salgorithm导致数据通过TCP/IP进行缓冲。在Php-bugs上找到了关于它的注释:http://bugs.php.net/bug.php?id=18029 关于PHP回显性能,我们在St

PHP 字符串与 boolean 速度测试

我正在尝试优化PHP应用程序中的特定函数,并愚蠢地假设“if”语句中的boolean查找比字符串比较更快。但是为了检查它,我使用microtime进行了一个简短的测试(见下文)。.令我惊讶的是,字符串查找速度更快。我的测试有什么问题吗(我喝了太多咖啡,所以我怀疑我自己的代码)?如果没有,我会对人们对PHP中的字符串与boolean查找的任何评论感兴趣。第一次测试(boolean查找)的结果是0.168秒。第二次测试(字符串查找)的结果是0.005秒。TRUE,'string_lookup'=>'something_else');$start=microtime();for($i=0;$

php - 如何从字符串中快速检索数组中的标签?

我有$_GET['tags']="apples,oranges,bananas,grapes,cherries"我需要将数据放入数组($tags)。什么是修剪每个项目并执行安全功能的快速方法(去除html、特殊字符)? 最佳答案 与array_walk()您可以单独编写您的标签清理功能,然后轻松地将其应用于您的传入数据。functionsterilize(&$val,$key){//dowhateversecurityyouneedhere$val=trim($val);$val=strip_tags($val);//etcretu