草庐IT

Performance

全部标签

php - 'clean code' 的性能影响

在我的工作场所,我们计划对我们的核心产品进行重大重构,这是一个具有多个“模块”的网络应用程序。我引用那句话是因为这是我们的主要关注点之一:模块并不是真正的模块,整个东西是整体的。该应用程序是用PHP编写的,带有smarty模板并使用Pear访问MySQL数据库。我们并不真正关心数据库独立性,但如果这不需要几个月的时间来实现就好了。我们主要担心的是开发时间/成本呈指数级增长,因为错误在不相关的地方突然出现,并且没有可靠的通用架构来依赖以获得最常见的功能(每个模块基本上是从以前的模块复制/粘贴一个,然后适应)。对webMVC原理有一定的了解,主要是ASP.NETMVC。我喜欢它提供的干净分

php - 使用 PHP 类对象与静态类方法相比有任何开销吗?

我想知道在PHP中使用对象而不是使用基于我下面示例的静态方法是否有任何额外开销?来自Session类的Session对象$session=newSession;$session->set(user_id,$uswer_id);//setsessionvar$session->get(user_id);//getsessionvar对比Session类的静态方法Session::set(user_id,$uswer_id);//setsessionvarSession::get(user_id);//getsessionvar 最佳答案

php - 在 php 中存储这个有序对的更有效方法是什么?

以下两种数据结构,哪种“更好”?array('key'=>array(1,2,3,4))或者:array('key',array(1,2,3,4))也就是说,将数组存储为双元素数组中的第二个元素更好,还是存储为具有键“key”的数组中的单个元素更好。假设为了我的目的,为了方便起见,它们是等价的。我只是好奇一个是否比另一个使用更多的资源。 最佳答案 您可以使用适合您要存储的内容的任何一个。如果键与值数组及其唯一性相关,则使用键/值。担心在这种情况下使用的资源是微优化和无关紧要的干扰。 关于

php - require_once 在开始时还是真正需要的时候?

我应该在哪里放置require_once语句,为什么?总是在a的开头文件,课前,在实际方法中确实需要文件视情况而定?大多数框架把include放在开头,并不关心这个文件是否真的需要。使用自动加载器是另一种情况。编辑:当然,我们都同意,自动加载器是可行的方法。但那是我不是的“其他情况”在这里问。(顺便说一句,ZendFramework应用程序使用自动加载器,文件仍然是硬需要的,并且放在开头)。我只是想知道,为什么程序员在文件的开头包含所需的文件,即使它们可能根本不会被使用(例如异常文件)。 最佳答案 自动加载是一种更好的做法,因为它只

PHP 打印大量信息时速度很慢

我有一个应用程序,我需要从数据库中检索大量行,然后将它们全部打印在屏幕上。我检查了mysql查询,这不是问题所在。问题是所有行都需要打印在同一页上,没有分页,而且需要很长时间(我说的是一个有几千行的表格)。有什么办法可以加快速度吗?我在谷歌上唯一发现的是使用“,”而不是“。”使用echo时。我将对此进行测试,看看是否有任何改进,但我不确定它会产生如此大的不同。 最佳答案 问题不太可能出在PHP上,而是输出到浏览器的大量HTML。您可以自己验证这一点,方法是保存您获得的页面,然后从您的硬盘加载静态文件。如果您要输出一个大表格,那么浏览

php - 如何用 PHP 压缩 XML?

我有一个读取XML文件并使用SimpleXML修改它的php脚本。完成所有修改后,脚本会保存文件(大小约为2.8mb)。我需要用jQuery加载这个XML文件,这需要相当长的时间。有没有一种方法可以压缩/缩小我的XML文件以减少AJAX调用中的加载时间。更新:XML文件包含网页的SVG(大型代谢图),因此它必须保留XML节点的所有内容。 最佳答案 编辑OP明确表示这是关于SVG文件的在我写下我的答案之后。如果您客户端绝对不需要所有2.5MB的XML(我怀疑您需要),请不要将2.5MB的XML传输到客户端。更好的策略是像使用数据库一样

PHP:检查变量是否是字符串类型并且不是空字符串?

我需要检查传递的变量是否为字符串类型,并且不为空。我有以下功能:functionisNonEmptyStr($var){if(isset($var)){if(is_string($var)){if(strlen($var)>0){returntrue;}}}returnfalse;}我期望的结果:echo(isNonEmptyStr(''));//falseecho(isNonEmptyStr(''));//trueecho(isNonEmptyStr('a'));//trueecho(isNonEmptyStr('1'));//trueecho(isNonEmptyStr(1));/

php - 使用 PHP 构建 XML - 考虑性能

在PHP中构建XML时,构建字符串然后回显字符串或使用php提供的XML函数更快吗?目前我正在做以下事情:已更新为更好的代码片段:$searchParam=mysql_real_escape_string($_POST['s']);$search=newSearch($searchParam);if($search->retResult()>0){$xmlRes=$search->buildXML();}else{$xmlRes='noresults';}$xml="";$xml.="";$xml.=$xmlRes;$xml.=""header("content-type:text/x

php - 为什么 echo 比 print 快?

在PHP中,为什么是echo比print快?他们做同样的事情...为什么一个比另一个快?他们做完全同样的事情吗? 最佳答案 echo和print实际上(不是技术上)是同一件事。两者之间的(几乎唯一的)区别是print将返回整数1,而echo什么都不返回。请记住,这两者实际上都不是函数,而是语言结构。echo允许您在使用它时传递多个字符串,就好像它是一个函数(例如echo($var1,$var2,$var3))。echo也可以使用语法来简写(代替)。至于哪个更快,有许多在线资源试图回答这个问题。PHPBenchmark总结说“[i]在

php - 没有任何 PHP 的 .php 文件会传递给解释器吗?

在标准的LAMP栈上,没有任何PHP的.php文件会被传递给PHP解释器吗?换句话说,与仅将其创建为.html文件相比,创建.php文件而不实际包含任何PHP文件是否会导致性能/处理损失? 最佳答案 OnastandardLAMPstack,do.phpfileswithoutanyPHPinthemgetpassedtothePHPinterpreter?是的-毕竟,除了PHP解析器之外,没有其他组件适合决定文件是否包含PHP!Inotherwords,isthereaperformance/processinglossforcr