我编写了一个PHP-CLI脚本,它混合了两个音频(.WAV PCM)文件(涉及一些数学),因此PHP需要使用unpack()
来处理数千个(如果不是数百万个)样本,做数学在他们身上并使用pack()
保存。
现在,我不需要关于如何进行混音或任何事情的实际信息,正如标题所说,我正在寻找可能加速这个过程的可能性,因为脚本需要30秒的处理时间来产生10秒的音频输出
我尝试的事情:
substr()
代替fseek()
/ fread()
进行处理。性能提升:3秒。在这些优化之后,我以大约17秒的处理时间结束了10秒的音频输出。让我烦恼的是,其他工具可以进行简单的音频操作,比如实时混合两个文件甚至更快。
我的另一个想法是paralellization,但由于会出现额外的问题(比如为叉/线程和其他相关事物计算正确的搜索位置),我不再这样做。
我错过了什么东西,或者这对PHP-CLI脚本来说实际上是不错的表现?
答案 0 :(得分:0)
感谢大家对此的意见。
我用C ++重写了这个东西,现在可以在不到一秒的时间内执行上述操作。
我从来没有想过速度差异很大(编译后的应用程序速度快了40倍)。