小编hip*_*ail的帖子

而(1)Vs. for(;;)有速度差吗?

长版......

一位同事在看到我while (1)在Perl脚本中使用for (;;)更快后断言了.我认为他们应该是一样的,希望翻译能够优化任何差异.我设置了一个脚本,它将运行1,000,000,000次循环迭代和相同数量的while循环并记录它们之间的时间.我找不到明显的区别.我的同事说,一位教授告诉他,这while (1)是在进行比较1 == 1而事实for (;;)并非如此.我们用100倍的C++迭代次数重复相同的测试,差异可以忽略不计.然而,它是一个图形示例,说明编译代码与脚本语言相比可以更快.

精简版...

没有任何理由,更喜欢一个while (1)比一个for (;;),如果你需要一个无限循环打出来的?

注意:如果问题不清楚.这在几个朋友之间纯粹是一次有趣的学术讨论.我知道这不是一个超级重要的概念,所有程序员都应该为之痛苦.感谢所有伟大的答案我(我相信其他人)从这次讨论中学到了一些东西.

更新:前面提到的同事在下面做出回应.

这里引用以防它被埋没.

它来自AMD汇编程序员.他说C程序员(人们)没有意识到他们的代码效率低下.他今天说,gcc编译器非常好,让像他这样的人破产.他举例称,并告诉我关于while 1VS for(;;).我现在出于习惯而使用它,但是gcc和特别是解释器在这些日子里都会做同样的操作(处理器跳转),因为它们已经过优化.

c++ optimization perl performance

152
推荐指数
13
解决办法
5万
查看次数

git-merge是否可以忽略行尾差异?

是否可以git merge忽略行尾差异?

也许我问的是错误的问题......但是:

我试过了,config.crlf input但事情变得有点乱,失控,特别是当我在事后应用它时.

首先,在应用此选项之前,在事实之后应用此配置似乎不会影响已提交到存储库的文件.另一件事是突然所有提交现在导致许多关于CRLF被转换为LF的恼人警告消息.

说实话,我真的不在乎使用什么行结尾,我个人更喜欢Unix风格\n,但无论如何.我所关心的只是为了git merge变得更聪明,而忽略了行尾的差异.

有时我有两个相同的文件,但是git会将它们标记为冲突(并且冲突是整个文件),因为它们使用不同的行结束字符.

更新:

我发现git diff接受一个--ignore-space-at-eol选项,是否也可以git merge使用此选项?

git merge git-svn line-endings eol

146
推荐指数
4
解决办法
7万
查看次数

使用领先的双斜杠来继承URL中的协议有什么缺点吗?即src ="// domain.com"

我有一个样式表从外部域加载图像,我需要它从https://从安全订单页面加载http://从其他页面加载,基于当前的URL.我发现使用双斜杠启动URL会继承当前协议.所有浏览器都支持这种技术吗?

html ex:

<img src="//cdn.domain.com/logo.png" />
Run Code Online (Sandbox Code Playgroud)

css ex:

.class { background: url(//cdn.domain.com/logo.png); }
Run Code Online (Sandbox Code Playgroud)

url https http url-protocol

146
推荐指数
3
解决办法
5万
查看次数

HTTP重定向代码之间的区别

各种HTTP 3XX重定向代码之间的差异对我来说并不清楚.是的,我已经阅读了规范,但这里的标准和实际做法之间似乎存在一些差异.

301重定向代码似乎很清楚:这意味着资源已被永久移动到另一个URI,以及将来的请求应使用URI.

并且307重定向代码似乎也很清楚:这意味着重定向是临时的,未来的请求仍然应该使用原始URI.

但我不能告诉区别是什么之间302303,或者为什么他们中有谁真正从不同的301.它似乎302本来是一个临时重定向,(比如307),但在实践中,大多数浏览器都把它当成了一个303.但是a 303和a 之间有什么区别301?是301应该意味着重定向是永久的吗?

redirect uri http http-status-codes

143
推荐指数
2
解决办法
5万
查看次数

我该如何打印off_t和size_t等类型?

我正在尝试打印类似off_tsize_t.什么是正确的占位符printf() 是可移植的

或者是否有完全不同的方式来打印这些变量?

c portability format-specifiers

141
推荐指数
3
解决办法
13万
查看次数

如何在PHP中获得句子的第一个单词?

我想从字符串中提取变量的第一个单词.例如,请输入以下内容:

<?php $myvalue = 'Test me more'; ?>
Run Code Online (Sandbox Code Playgroud)

结果输出应该是Test输入的第一个字.我怎样才能做到这一点?

php string extract text-segmentation

141
推荐指数
7
解决办法
17万
查看次数

我什么时候应该在es6箭头函数中使用`return`?

新的es6箭头函数return在某些情况下是隐含的:

表达式也是该函数的隐式返回值.

在什么情况下我需要使用returnes6箭头功能?

javascript return function ecmascript-6 arrow-functions

138
推荐指数
5
解决办法
5万
查看次数

如何删除git中的第一个提交?

我很好奇如何删除git中的第一个提交.

在做出任何事情之前的修改是什么?此修订版是否有名称或标记?

git commit repository git-commit

136
推荐指数
5
解决办法
6万
查看次数

IE8的意外缓存导致IE8

我在使用JQuery Ajax请求的Internet Explorer缓存结果时遇到了严重问题.

我的网页上有标题,每次用户导航到新页面时都会更新.页面加载后,我这样做

$.get("/game/getpuzzleinfo", null, function(data, status) {
    var content = "<h1>Wikipedia Maze</h1>";
    content += "<p class='endtopic'>Looking for <span><a title='Opens the topic you are looking for in a separate tab or window' href='" + data.EndTopicUrl + "' target='_blank'>" + data.EndTopic + "<a/></span></p>";
    content += "<p class='step'>Step <span>" + data.StepCount + "</span></p>";
    content += "<p class='level'>Level <span>" + data.PuzzleLevel.toString() + "</span></p>";
    content += "<p class='startover'><a href='/game/start/" + data.PuzzleId.toString() + "'>Start Over</a></p>";

    $("#wikiheader").append(content);

}, "json");
Run Code Online (Sandbox Code Playgroud)

它只是将页眉信息注入页面.您可以访问www.wikipediamaze.com查看,然后登录并开始新的拼图.

在每一个浏览器我测试过(谷歌Chrome,火狐,Safari,IE浏览器),它的伟大工程,除了在IE中.Eveything …

asp.net ajax jquery internet-explorer

135
推荐指数
2
解决办法
3万
查看次数

Javascript是一种函数式编程语言吗?

仅仅因为函数是第一类对象,有闭包和高阶函数,Javascript是否应该被称为函数式编程语言?我认为它缺少的主要功能是纯函数,并且它不像其他函数式语言那样"感觉",比如lisp(虽然这不是一个很好的理由,它不是一个功能性的语言......)

javascript functional-programming terminology

132
推荐指数
4
解决办法
5万
查看次数