filter_bank:filter_bank函数

时间:2024-05-07 03:29:21
【文件属性】:

文件名称:filter_bank:filter_bank函数

文件大小:3KB

文件格式:ZIP

更新时间:2024-05-07 03:29:21

C

filter_bank:优化Rust和C中的滤波器组功能 巴特·梅西 此处的代码源自此Reddit 。 显然,它是一个DSP滤波器组的实现。 这里的Rust版本是我对该代码的重写,以对其进行一些清理。 C版本是从Rust版本手工翻译的。 两种版本都包含非常少量的测试,在此过程中没有受到任何损害。 用make构建。 请检查Makefile中的CPU类型设置和C编译器选项。 总结一下我的结果: rustc和clan*生一个本质上相同的内部循环。 没有一个编译器设法对代码进行矢量化处理,考虑到内部循环中的数据依赖性,这不足为奇。 在我最近的机器( znver3 )上,循环未展开。 在我的旧机器( haswell )上,循环展开了。 不同之处可能在于,编译器CPU模型不会因使用较新的CPU展开而没有发现性能优势。


【文件预览】:
filter_bank-main
----Cargo.toml(182B)
----filter.c(944B)
----README.md(1KB)
----Makefile(507B)
----filter.rs(847B)

网友评论