CGo 的性能注意事项
您对 CGo 和纯 Go 函数的执行时间进行了比较,cgo 函数表现出较慢的性能。虽然您的测试代码看起来有效,但有一些潜在因素可以解释这种差异。
由于调用 C/C 代码所涉及的开销,CGo 函数会导致性能损失。建议最小化 CGo 调用频率以优化性能。但是,对于您的示例,将循环移至 C 代码中可能比重复调用 CGo 函数更有效。
Go 中 Goroutine 设置和执行的几个方面可能会挑战 C 代码期望:
为了确保稳定性,CGo 选择使用传统堆栈在单独的线程中执行 C 代码。
与 Python 等使用 C 优化代码很常见的语言不同,Go 提供了等效 C 和 Go 之间较小的性能差距
因此,通常建议主要使用 CGo 来与外部库交互,可能使用小型 C 包装函数来减少 Go 代码的调用。
以上是为什么我的 CGo 函数比我的 Pure Go 函数慢?的详细内容。更多信息请关注PHP中文网其他相关文章!