为什么 SQLite 用 C 编写?

为什么 SQLite 用 C 编写?,第1张

概述简评:SQLite 官方出品。 C 是最好的选择 从 2000 年 5 月 29 日开始,SQLite 就选择了 C 语言。直到今天,C 也是实现 SQLite 这样软件库的最佳语言。 C 语言是实现 SQLite 最好的语言的原因包括: 性能。 兼容性。 低依赖性。 稳定性。 性能 像 SQLite 这样被密集使用的基础库需要有很好的性能(SQLite 确实很快,可以看看 Internal Ve

简评:sqlite 官方出品。

C 是最好的选择

从 2000 年 5 月 29 日开始,sqlite 就选择了 C 语言。直到今天,C 也是实现 sqlite 这样软件库的最佳语言。

C 语言是实现 sqlite 最好的语言的原因包括:

性能。 兼容性。 低依赖性。 稳定性。

性能

像 sqlite 这样被密集使用的基础库需要有很好的性能(sqlite 确实很快,可以看看 Internal Versus External BLOBs 和 35% Faster Than The filesystem 两篇文章)。

C 语言很适合写这样有性能要求的程序。C 语言有时被称为「便携式汇编语言」,让开发者能尽可能的接近底层硬件编码,同时保证跨平台的便携性。

当然,也有其他的编程语言声称和 C 一样快或者更快,但没有一个能和 C 一样通用。

兼容性

目前几乎所有的系统都可以调用由 C 语言编写的库。

比如,用 Java 编写的 AndroID 应用能通过 adapter 来使用 sqlite。如果 sqlite 是用 Java 编写的,这对于 AndroID 肯定会更方便。但在 iPhone 上应用是 Objective-C 或者 Swift 编写的,这两种语言都没办法调用 Java 库。因此,如果 sqlite 选择用 Java 编写,那在 iPhone 上就没办法用了。

低依赖性

用 C 来编写库不会在运行时有太多的依赖。在最小的配置下,sqlite 只需要 C 标准库里的:

memcmp() memcpy() memmove() memset() strcmp() strlen() strncmp()

在更复杂的配置下,sqlite 可能还会用到 malloc(),free() 和一些 *** 作系统接口来打开、读取、写入和关闭文件。但即使这样,依赖的数量也非常小。

稳定性

这个稳定性是指语言的稳定性。C 语言可能是老旧又无聊,但却正好很适合开发像 sqlite 这样更注重长期稳定的模块。

原文:Why Is SQLite Coded In C

总结

以上是内存溢出为你收集整理的为什么 SQLite 用 C 编写?全部内容,希望文章能够帮你解决为什么 SQLite 用 C 编写?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1161975.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存