c - 使用查找表进行优化

标签 c optimization lookup-tables

我为一个程序编写了一些 C 代码,该程序对声音数据进行一些心理声学分析。

有一段代码运行速度非常慢。

我认为最好使用查找表。如何实现它?

任何指示或帮助将不胜感激! :)

最佳答案

你们的值(value)观不是等距的,所以这并不容易。但它仍然是可能的:取所有条件值的最大公约数(这里是 50),然后制作表格

字节输出= lut[差异/50 + 12];

在查找表中,您可以仅使用发布顺序中的值,在其中复制条目,以防您的步长为 100。

顺便说一句,你看,有一个错误,你所有的负面案例都被你的第一个 <=0 捕获了。 (我的示例假设您要省略第一种情况)。

关于c - 使用查找表进行优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5543022/

相关文章:

java - Java 中的查找表?

c - 在哪里可以找到 Visual Studio 的 C99 数学实现?

c - 如何防止 "str\0ing"在C中的复制函数中转义?

c - 确定 C 可执行文件名称

css - 在网站的不同部分将 CSS 文件组合成缩小的 "chunks"是否明智?

javascript - 从对象字面量获取链接值,onchange--Javascript/HTML select

c - 这个搜索功能看起来好用吗?

java - 使用 StringBuffer 、 StringBuilder 、 String.intern() 优化 String 对 java 堆的使用

c# - 优化此 C# 算法(K Difference)

c# - 实现一个查找表,它接受 T 并返回类型为 List<T> 的方法的属性