c - 优化C代码

标签 c optimization if-statement

我有以下代码

    void Fun2()
    {
        if(X<=A)
            X=ceil(M*1.0/A*X);
        else
            X=M*1.0/(M-A)*(M-X);
    }

我想使用 C99 快速编程,请考虑以下评论。

  1. XA是32位变量,我将它们声明为uint64_t,而M > 作为static const uint64_t

  2. 此函数被另一个函数调用,每调用 n 次,A 的值就会更改为新值。

    <
  3. 执行时间需要优化,CPU为Core i3,OS为windows 7

我想要实现的数学模型是

F=ceil(Max/A*X) if x<=A

F=floor(M/(M-A)*(M-X)) if x>A

为了清晰起见,避免混淆,我之前的帖子是 我有以下代码

void Fun2()
{
    if(X0<=A)
        X0=ceil(Max1*X0);
    else
        X0=Max2*(Max-X0);
}

我想使用 C99 快速编程,请考虑以下评论。

  1. X0、A、Max1 和 Max2 是 32 位变量,我将它们声明为 uint64_t,而 Max 声明为 static const uint64_t。

  2. 该函数被另一个函数调用,每调用 n 次,Max1、A、Max2 的值就会更改为随机值。

  3. 我在 Windows 7 和 codeblocks 软件中工作

谢谢

最佳答案

在没有特定目标的情况下优化这样的代码是完全没有意义和不可能的。为此,您需要具备以下知识:

  • 使用哪种 CPU。
  • 使用哪个操作系统(如果有)。
  • 对上述内容有深入的了解,达到您对系统了解更多的程度,或者与为给定编译器端口编写优化器的人一样了解系统。
  • 哪种优化最重要:执行速度、RAM 使用情况或程序大小。

在不了解上述情况的情况下,您可以进行的唯一优化是在算法级别。发布的代码中没有这样的算法。

因此,在提供更多信息之前,任何人都无法回答您的问题。

关于c - 优化C代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20098280/

相关文章:

c - C中多线程,求4个数组的平均值

algorithm - 最优子结构

optimization - 完全禁用 NVCC 上的优化

swift - If 语句似乎不能正常工作

python - 从 C Windowsx64 调用 Cython 函数

c - 释放C中指针的指针的动态内存

自定义内存分配器

performance - 在 Rust 中,如何将快速的始终为空且单条目的 HashMap 传递给第三方 API?

javascript - 如果所有条件都为真

php - 如何使用 PHP 变量中的提交按钮存储到数据库?