gpt4 book ai didi

c - Cairo Graphics 在其他语言中比 c 慢吗?例如在 Haskell 中?

转载 作者:太空狗 更新时间:2023-10-29 15:54:17 24 4
gpt4 key购买 nike

我已经在 c 中使用 Cairo Graphics 一段时间了,我想在更高级的语言中使用它(即 Haskell,我也尝试过 Python)。它有效,但说实话,我脑子里并不清楚它在内部是如何工作的。

当我的 Haskell 源代码被编译时,目标文件中与 cairo 相关的部分是否与从 c 源代码编译的一样?

c 中的 cairo_line_to (cr, 100, 100) 会被编译成与 Haskell 中的 LineTo 100 100 相同的机器码吗?性能会一样吗?

最佳答案

大多数语言调用 C 库都会产生一些 FFI 开销。每次调用 C 函数时,这是一个很小的(通常是)恒定的开销,但如果您进行大量调用,它就会累加起来。

就其值(value)而言,这并不是调用 C 所独有的。内存管理系统的任何交叉都可以完成这项工作。这就是为什么现代 OpenGL 建议在调用中尽可能多地将数据以大块的形式发送到图形内存,而不是一次一个三角形。

关于c - Cairo Graphics 在其他语言中比 c 慢吗?例如在 Haskell 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40264828/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com