gpt4 book ai didi

c - Vala 生成的 C 代码比手写的 C 代码优化了多少?

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

Vala 生成的代码是否像普通的手写 C 代码一样进行了优化?与不使用 GObject 系统相比,使用 GObject 系统是否有任何性能开销?

注意:在我的下一个 C 项目中,我正在研究是否使用 Vala。该项目不是 GUI 应用程序,它是一种解释器类型的应用程序,必须与平台无关。我使用 gcc 作为编译器。

最佳答案

作为一名 Vala 开发者,我不建议将 Vala 用作解释器。在解释器中,您将为 ast、数据类型、可能的中间对象、codegen 对象等创建许多对象。在 Vala 本身,我个人测量过主要开销是创建对象(简单的 GTypeInstance,甚至不是 GObject)。Vala 旨在与 gobjects 一起使用,但 gobjects 并非设计用于快速分配。

所以,对于你的项目,我仍然会使用 glib/gio 来处理跨平台的东西,比如网络、字符串实用程序、unicode、数据结构等等,因为它们有一个干净、一致和方便的 API,但我不会将 ast 对象创建为 gobjects/gtypeinstance。在解释器中,您需要快速分配,这就是重点。

我的个人建议是:如果你想构建桌面应用程序、dbus 服务、gstreamer 的东西或任何触及 g* 世界的东西,就使用 vala,别无其他。

关于c - Vala 生成的 C 代码比手写的 C 代码优化了多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17058330/

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