标签: optimization

270
推荐指数
11
解决办法
20万
查看次数

C#中的内联函数?

你如何在C#中做"内联函数"?我认为我不理解这个概念.他们喜欢匿名方法吗?像lambda函数?

注意:答案几乎完全处理内联函数的能力,即"用被调用者的主体替换函数调用站点的手动或编译器优化".如果您对匿名(也称为lambda)函数感兴趣,请参阅@ jalf的答案或者每个人都在说什么'Lambda'?.

c# optimization inline

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

反向循环真的更快吗?

我听过很多次了.向后计数时JavaScript循环真的更快吗?如果是这样,为什么?我已经看到一些测试套件示例显示反向循环更快,但我找不到任何解释为什么!

我假设它是因为循环不再需要在每次检查它是否完成时评估属性并且它只是检查最终的数值.

for (var i = count - 1; i >= 0; i--)
{
  // count is only evaluated once and then the comparison is always on 0.
}
Run Code Online (Sandbox Code Playgroud)

javascript optimization loops for-loop while-loop

259
推荐指数
19
解决办法
11万
查看次数

在PHP中将字符串转换为整数的最快方法

使用PHP,将这样的字符串转换为"123"整数的最快方法是什么?

为什么这种特殊方法最快?如果它获得意外输入会发生什么,例如"hello"数组?

php optimization casting

247
推荐指数
6
解决办法
36万
查看次数

如何在HTML中将一个图像放在另一个图像上?

我是rails编程的初学者,试图在页面上显示许多图像.有些图像要放在其他图像之上.为了简单起见,我想要一个蓝色正方形,蓝色正方形的右上角有一个红色正方形(但在角落里不紧).由于性能问题,我试图避免合成(使用ImageMagick和类似).

我只想将重叠的图像相对于彼此放置.

作为一个更难的例子,想象一下里程表放在一个更大的图像内.对于六位数字,我需要合成一百万个不同的图像,或者在运行中完成所有操作,其中所需要的只是将六个图像放在另一个图像的顶部.

html css graphics optimization

238
推荐指数
8
解决办法
71万
查看次数

为什么我 - 比循环中的i ++更快?

可能重复:
JavaScript - 反向循环真的更快......?

我不知道这个问题是否在其他语言中有效,但我是专门问这个问题的JavaScript.

我在一些文章和问题中看到,JavaScript中最快的循环是这样的:

for(var i = array.length; i--; )
Run Code Online (Sandbox Code Playgroud)

同样在Sublime Text 2中,当您尝试编写循环时,它建议:

for (var i = Things.length - 1; i >= 0; i--) {
    Things[i]
};
Run Code Online (Sandbox Code Playgroud)

我想知道,为什么i--i++循环更快?

javascript algorithm optimization performance

231
推荐指数
0
解决办法
1万
查看次数

Clang vs GCC - 产生更好的二进制文件?

我目前正在使用GCC,但最近我发现了Clang而且我正在考虑切换.但是有一个决定性的因素 - 它产生的二进制文件的质量(速度,内存占用,可靠性) - 如果gcc -O3能够生成运行速度快1%或内存减少1%的二进制文件,那么它就是一个交易破坏者.

Clang拥有比GCC更好的编译速度和更低的编译时内存占用,但我真的对基准测试/比较结果编译软件感兴趣 - 你能指点我一些或描述你的经历吗?

compiler-construction optimization benchmarking gcc clang

228
推荐指数
7
解决办法
10万
查看次数

在循环内部或外部声明变量

为什么以下工作正常?

String str;
while (condition) {
    str = calculateStr();
    .....
}
Run Code Online (Sandbox Code Playgroud)

但据说这个是危险的/不正确的:

while (condition) {
    String str = calculateStr();
    .....
}
Run Code Online (Sandbox Code Playgroud)

是否有必要在循环外声明变量?

java optimization while-loop

224
推荐指数
8
解决办法
12万
查看次数

用C++编写二进制文件的速度非常快

我正在尝试将大量数据写入我的SSD(固态硬盘).大量的我的意思是80GB.

我浏览网页寻求解决方案,但我想出的最好的是:

#include <fstream>
const unsigned long long size = 64ULL*1024ULL*1024ULL;
unsigned long long a[size];
int main()
{
    std::fstream myfile;
    myfile = std::fstream("file.binary", std::ios::out | std::ios::binary);
    //Here would be some error handling
    for(int i = 0; i < 32; ++i){
        //Some calculations to fill a[]
        myfile.write((char*)&a,size*sizeof(unsigned long long));
    }
    myfile.close();
}
Run Code Online (Sandbox Code Playgroud)

使用Visual Studio 2010进行编译并完全优化并在Windows7下运行,此程序最大可达20MB/s.让我感到困扰的是,Windows可以将文件从其他SSD复制到此SSD,速度介于150MB/s和200MB/s之间.所以至少快7倍.这就是为什么我认为我应该能够更快.

我有什么想法可以加快我的写作速度?

c++ io optimization performance file-io

221
推荐指数
8
解决办法
17万
查看次数

优化级别-O3在g ++中是危险的吗?

我从各种来源(虽然大多数来自我的同事)中听到过,-O3用g ++ 的优化级别进行编译在某种程度上是"危险的",并且除非被证明是必要的,否则应该避免.

这是真的,如果是的话,为什么?我应该坚持-O2吗?

c++ optimization g++ compiler-flags

217
推荐指数
4
解决办法
10万
查看次数