我正在尝试优化我的代码,以便在运行时尽可能快地运行.我通过切换几个优化选项来比较VS和Intel,但我没有注意到显着的差异.但是,由于我的处理器是英特尔,它应该更快.你建议哪些优化开关最大化速度?
哪两个更快:?
1.
char* _pos ..;
short value = ..;
*((short*)_pos = va;
Run Code Online (Sandbox Code Playgroud)
2.
char* _pos ..;
short value = ..;
memcpy(_pos, &value, sizeof(short));
Run Code Online (Sandbox Code Playgroud) 默认情况下,全局变量初始化为"0".
当我明确地为其赋值"0"时,它会产生多大的差异(如果有的话).
他们中的任何一个是更快/更好/更优化?
我尝试了一个小样本.c程序,但我没有看到可执行文件大小的任何变化.
编辑:0我只想了解行为.它在任何方面都不是我的瓶颈.
保存这样的密钥名称之间
for(var key in this.data)
{
var key_name = key;
for(key in this.data[key_name].content){
alert(this.data[key_name].content[key].score);
}
}
Run Code Online (Sandbox Code Playgroud)
或为每个父节点创建检查点对象
for(var key in this.data)
{
var obj = this.data[key];
for(key in obj.content){
var inner_obj = obj.content;
alert(inner_obj[key].score);
}
}
Run Code Online (Sandbox Code Playgroud)
哪一个有更好的表现?还有其他建议吗?
也许这是一个愚蠢的问题,但更快的是什么?
<?php
function getCss1 ($id = 0) {
if ($id == 1) {
return 'red';
} else if ($id == 2) {
return 'yellow';
} else if ($id == 3) {
return 'green';
} else if ($id == 4) {
return 'blue';
} else if ($id == 5) {
return 'orange';
} else {
return 'grey';
}
}
function getCss2 ($id = 0) {
$css[] = 'grey';
$css[] = 'red';
$css[] = 'yellow';
$css[] = 'green';
$css[] = 'blue';
$css[] …Run Code Online (Sandbox Code Playgroud) 我正在写一个半实时的bash脚本,它的运行速度不够快.根据我的理解,Bash引用某种表来查找您提供它的命令的完整路径.指定完整路径会显着加快循环中运行的命令吗?
我急于哪些循环技术被认为是最佳的性能之间foreach和for?我们还可以通过找到循环的最佳实践来优化脚本.
我有一段C代码,我正在尝试优化,其中包括设置数组a到b.我目前正在使用memcpy来实现这一点,并且它可以工作,但它不够快.即
double a[4] = {1.0, 2.0, 3.0, 4.0};
double b[4];
memcpy(b, a, sizeof(a));
Run Code Online (Sandbox Code Playgroud)
这是一个基本的例子,我的程序类似,但使用多达9000双打.我知道使用指针可以节省很多时间,但我不知道该怎么做.非常感谢您的帮助.
编辑:我不需要保留一个可以丢弃的数组.我只需要从a转移到b.
我知道之前已经回答过类似的问题,但我找不到的答案都不是针对.NET的.
VB.NET编译器是否优化了以下表达式:
x = y / 4
Run Code Online (Sandbox Code Playgroud)
通过编译:
x = y * 0.25
Run Code Online (Sandbox Code Playgroud)
在任何人说不要担心差异很小之前,我已经知道但是这将会被执行很多而选择一个而不是另一个可以在总执行时间上产生有用的差异并且比更重要的更容易做重构练习.
也许我应该为那些生活在完全自由的环境中的人们提到:我不能自由地改变为另一种语言.如果我是,我可能会在Fortran中编写此代码.
有没有办法改进这行代码?我认为这种转换会减慢我的计划速度.我认为可以使用像位移这样的东西,我不确定.
(uint16_t)(0.8*(float)(Value) ?
编辑:我需要编程atmega8微控制器.我的老师说这行代码需要更多的处理能力,并且有一种更简单的方法可以通过位移来实现这一点.
optimization ×10
c ×4
performance ×3
c++ ×2
memcpy ×2
php ×2
avr ×1
bash ×1
benchmarking ×1
bit-shift ×1
compilation ×1
for-loop ×1
foreach ×1
intel ×1
javascript ×1
math ×1
pointers ×1
vb.net ×1