标签: optimization

PHP IF语句评估和服务器开销

我很好奇当评估PHP if语句时对服务器的影响是什么,即内存消耗和CPU使用率,以及这是否会成为流量增长时的主要问题?

例如,如果我在WordPress博客上的每个帖子摘要的主题中使用了很多PHP IF语句,那么如果主页开始获得高流量,这将需要更多的服务器资源吗?并且,在列出许多帖子的页面(即类别页面)上,似乎这可能成为一个问题.

我认为削减在流量激增时并非绝对必要的IF语句可能是个好主意.或者,这甚至是我担心的事情吗?

php optimization evaluation overhead

-2
推荐指数
1
解决办法
527
查看次数

将整数除以16而不使用除法或强制转换

好的......让我改一下这个问题......

如何在不使用除法或转换加倍的情况下获得整数的x 16th ...

optimization division fractions

-2
推荐指数
1
解决办法
865
查看次数

如何将无符号短数据[32]非常快地转换为unsigned char*

如果你不得不转换

unsigned short data1[32]
Run Code Online (Sandbox Code Playgroud)


unsigned char* data2
Run Code Online (Sandbox Code Playgroud)

在一个紧凑的循环中执行1000万次你会用什么功能来获得最佳性能?
我正在使用这个

reinterpret_cast<unsigned char*>(data1);
Run Code Online (Sandbox Code Playgroud)

但是想知道是否有更好的方法

c c++ optimization

-2
推荐指数
1
解决办法
563
查看次数

使用SSE指令可以在C++中读取最快的文件

我必须以最快的方式从文件中读取8k x 8k矩阵.截至目前,我正在使用fstat并将整个文件读入内存,然后对加载的数据进行操作.

这是最快的方式吗?我正在使用带有SSE指令的x86处理器.我能利用他们的文件阅读优势吗?

谢谢

c++ optimization file-io sse

-2
推荐指数
1
解决办法
282
查看次数

替代c ++中的if语句

我正在研究一种算法,并希望使我的代码更有效.我的代码使用简单的算术和比较语句.但是,我想替换if语句,因为它们可能很耗时.这段代码将运行超过一百万次,所以即使是最轻微的改进也是值得赞赏的.请回答!这里是代码 -

int_1024 sqcalc(int_1024 s,int_1024 f){
    f=f*20;
    s=s-81;
    s=s-(f*9);
    if(s>=0){
        return 9;
    }
    s=s+f;
    s=s+17;
    if(s>=0){
        return 8;
    }
    s=s+f;
    s=s+15;
    if(s>=0){
        return 7;
    }
    s=s+f;
    s=s+13;
    if(s>=0){
        return 6;
    }
    s=s+f;
    s=s+11;
    if(s>=0){
        return 5;
    }
    s=s+f;
    s=s+9;
    if(s>=0){
        return 4;
    }
    s=s+f;
    s=s+7;
    if(s>=0){
        return 3;
    }
    s=s+f;
    s=s+5;
    if(s>=0){
        return 2;
    }
    s=s+f;
    s=s+3;
    if(s>=0){
        return 1;
    }
    s=s+f;
    s=s+1;
    if(s>=0){
        return 0;
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望替换if检查,因为我认为'他们使算法变慢.任何建议?int_1024是一个带有1000位的ttmath变量,所以保存它可能是一个很好的选择?如此大的数字的除法或乘法可能慢,所以我尝试使用添加,但无济于事.请帮助.

c++ algorithm optimization

-2
推荐指数
2
解决办法
568
查看次数

Javascript测试结果.任何人都能解释一下吗

我最近写了一篇博文,关于在绑定事件处理程序之前检查jquery元素是否存在,我做了一个快速的jsfiddle ,你可以在这里看到

我不明白的是,结果显示(使用chrome以微秒为单位测量)测试2比测试1快很多.

您将从jsfiddle看到测试2在绑定click事件之前检查匹配是否存在

测试1是:

console.time('time_1');
    $('.yep').click(function() {
      alert('clicked');
    });
    console.timeEnd('time_1'); 
Run Code Online (Sandbox Code Playgroud)

测试1只是试图绑定事件

测试2:

console.time('time_2');
if ($('.yep').length) {
  $('.yep').click(function() {
    alert('clicked');
  });
}
console.timeEnd('time_2');
Run Code Online (Sandbox Code Playgroud)

测试2在绑定之前检查元素是否存在.

我在一些代码上运行两位代码,87我认为'elemenets',其中一个有'yep'类

我真的不明白为什么第二次测试更快,因为它做了更多的工作.

结果:

time_1: 0.856ms 
time_2: 0.146ms 
Run Code Online (Sandbox Code Playgroud)

任何人都可以解决一些混乱的开发人员.

谢谢

请不要用jquery中绑定点击事件的替代方法回复,.click只是用作一个简单的测试

javascript testing optimization jquery

-2
推荐指数
1
解决办法
102
查看次数

检查整数是否为0的最佳方法

检查整数中是否为0(零)的最佳方法是什么

例如:

505 -> True
555 -> False
44444032 -> True
0000 -> True
Run Code Online (Sandbox Code Playgroud)

我试过这个

public bool has0(int no)
{
    if(no==0)return true;
    while(no!=0)
    {
        if(no%10==0)return true;
        no=no/10;
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

这是有效的,但考虑到我需要在大数字上专门调用此方法10亿次,因此需要特别花费大量时间

for(int i=0;i<1000000000;i++)has0(i);
Run Code Online (Sandbox Code Playgroud)

那么,什么将是检查的最佳方式,如果在一些存在通过使用一些位级运营商如0 |,&,^或任何其他方式.

谢谢..

language-agnostic optimization

-2
推荐指数
1
解决办法
515
查看次数

检查条件是否为真更快?

(1)

if (!cond)
Run Code Online (Sandbox Code Playgroud)

要么

(2)

if (cond == false)
Run Code Online (Sandbox Code Playgroud)

好像我看到很多人使用(1).但这不是最优的吗?在C++中,if (...)只要括号中的任何内容都是非零值,语句就会计算为true.因此,在(1)中,必须发生的是

  • 做一个合乎逻辑的NOT cond
  • 检查结果是否为非零(是否有任何位)

而在(2)中,所有必须发生的是

  • 检查是否cond为零(是否所有位都关闭)

现在,检查所有位是否都关闭所花费的时间总是大于或等于检查是否有任何位的时间.因此,问题在于执行逻辑NOT的时间是否平均可以弥补任何差异.

我应该使用哪个来优化我的代码?

c++ optimization

-2
推荐指数
1
解决办法
190
查看次数

哪个C++代码更有效?

我正在尝试优化我的代码.我听说最好不要使用局部变量并减少函数参数的数量,所以目前程序的结构如下所示:

using namespace std;    
const string UPLOAD_LOCATION = "/uploads";    
const int value = 100;
const int type = 0;
const int max_value = 255;    
string var1, var2, var3;

void func1();
void func2();
void func4();

int main(int argc, char *argv[])
{
    func1();
    func2();
}

void func1()
{
  //do something
}

void func2()
{
  func4();
  //do something
}

void func4()
{
  //do something
}
Run Code Online (Sandbox Code Playgroud)

如果var1,var2和var3是main函数中的局部变量,那么它会更有效吗?所以我将它们作为参数传递给函数?我的意思是这样的:

using namespace std;    
const string UPLOAD_LOCATION = "/uploads"; 

void func1();
void func2();
void func4();

int main(int argc, …
Run Code Online (Sandbox Code Playgroud)

c++ optimization performance

-2
推荐指数
1
解决办法
216
查看次数

Java比C快2倍(作为C++的子集)

下面的代码是一种非常低效的乘法算法.它被写成测试目的.我相信我已经用不同的语言编写了相同的代码.

正下方是运行代码的结果.

OS: Windows 7
language: C (as a subset of C++)

compiler: Visual C++
optimization option: /Ox /Oi /Ot /Oy /GL
running time (seconds): 40 +/- 1

compiler: MinGW/gcc
optimization option: -O3 march=native
running time (seconds): 81 +/- 1

compiler: MinGW/g++
optimization option: -O3 march=native
running time (seconds): 82 +/- 1

language: Java

compiler: Oracle JDK
VM: Oracle JVM
running time (seconds): 18 +/- 1
Run Code Online (Sandbox Code Playgroud)

我相信我在我的C代码中做了一些糟糕的事情,完全优化的编译器无法以任何方式优化.如果有任何大问题请告诉我.我正在计划一个项目,其中有一部分涉及大量的计算.我决定在C中编写这个核心计算部分,但是有了这种结果,我宁可用Java编写所有东西; 它更容易,甚至更快?我仍然相信C,所以如果我的代码中有任何问题,请告诉我.我的期望是Java版本应该慢1.5倍或更慢,但它在某种程度上优于C.

TEST.C

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>

typedef signed char …
Run Code Online (Sandbox Code Playgroud)

c c++ java optimization performance

-2
推荐指数
1
解决办法
454
查看次数