我有一些简单的for,while和do-while循环:
while ($var < 1000000) {
++$var;
}
do {
++$var;
} while ($var < 1000000);
for ($var = 0; $var < 1000000; ++$var) {
//do nothing
}
Run Code Online (Sandbox Code Playgroud)
通过比较循环之前和之后的microtime().
do-while循环是相当数量的最快循环.这样做,虽然是比实际速度更快,同时减少了将近一半.我知道他们是出于不同的目的(而检查循环执行前的状态和做,而至少执行一次).
我知道普遍的共识是,虽然循环是不受欢迎的,但更多的是.
我的问题是为什么?考虑到PHP应用程序中使用了多少个for循环,不应该这样做 - 同时使用更多?即使使用if语句在循环执行之前检查条件,性能提升也是相当可观的.
我目前接受的答案是代码易读性是可疑的.
我已使用以下代码成功将我的Gmail Atom Feed添加到组织文件中
(setq org-feed-alist
'(("Mail Entries"
"http://mail.google.com/mail/feed/atom"
"~/org/feeds.org" "Mail Entries"
:parse-entry org-feed-parse-atom-entry
:parse-feed org-feed-parse-atom-feed
:item-full-text
:template "* TODO %title\n %summary\n"
)))
Run Code Online (Sandbox Code Playgroud)
典型的Gmail Atom Feed如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<feed version="0.3" xmlns="http://purl.org/atom/ns#">
<title>Gmail - Inbox for mail@gmail.com</title>
<tagline>New messages in your Gmail Inbox</tagline>
<fullcount>1</fullcount>
<link rel="alternate" href="http://mail.google.com/mail" type="text/html" />
<modified>2011-02-22T06:38:03Z</modified>
<entry>
<title>RE: URGENT URGENT</title>
<summary>Do this now or the world will end</summary>
<link rel="alternate" href="http://mail.google.com/mail?account_id=mail@gmail.com&message_id=654646578943541&view=conv&extsrc=atom" type="text/html" />
<modified>2011-02-21T21:30:18Z</modified>
<issued>2011-02-21T21:30:18Z</issued>
<id>tag:gmail.google.com,2003:104521846321321</id>
<author>
<name>me</name>
<email>mail@gmail.com</email>
</author>
</entry>
Run Code Online (Sandbox Code Playgroud)
当我点击Cc Cx g并输入我的凭据时,我会在我的.org文件中找到它
** TODO RE: …Run Code Online (Sandbox Code Playgroud)