写点什么

SQLite 移植到了.NET

  • 2009-08-09
  • 本文字数:752 字

    阅读完需:约 2 分钟

Noah Hart 将 SQLite3 移植到了 C#上。虽然此次移植版本比原始版本要慢,但是此项目可以让.NET 托管项目在不使用任何 P/Invoke 和不安全代码的情况下使用 SQLite。

C#-SQLite 被寄放在Google Code 上,是从SQLite 3.6.16 到C#的完全移植,代码版权使用 MIT License 。C#-SQLite 通过了超过 3 万个测试用例,只有 9 个没有通过。编译好的二进制 exe 文件只有 528KB,和原始版本的 506KB 差不多。性能方面要比原始的C 版本差一些,但是Hart 说他还没有对代码做任何性能优化,而且他认为目前的性能还可以接受。所有的数据单位都是行/ 秒:

Test C#-SQLite SQLite Insert 300K 1300K Select 1500K 8450K Update 60K 300K Delete 250K 700KCory Nelson 解释了为什么移植SQLite 要比其它方式更好:避免P/Invoke 带来的“速度超慢和无法移植”问题。而且C 代码“充斥着goto 语句,会使优化变得十分困难”。

很多产品-如Adobe AIR-都包含和使用了SQLite。或许C#-SQLite 最能发挥的地方是Silverlight 项目, Tim Anderson 指出

可以在微软 Silverlight 中作为本地数据库使用,保存在 isolated storage 中。

……Silverlight 不允许 P/Invoke 和不安全代码,由于原始版本的 SQLite 中使用了大量的指针,即使只有很少的 P/Invoke,不安全的代码却一定有很多。

虽然 Silverlight 是实现在.NET Framework 上的,却不包含 System.Data 命名空间,但包含了 System.Linq。

C#-SQLite 并不是 SQLite 的官方版本,Hart 也与 SQLite.org 没有任何关系。SQLite 的创造者和商标所有人 Richard Hipp,在一开始并不同意将“SQLite”包含在项目名中,但是后来同意使用C#-SQLite。

除了这个项目,还有其它一些托管数据库,比如: Perst db4o Silverlight Database System.Data.SQLite

查看英文原文: SQLite Has Been Ported to .NET

2009-08-09 20:563723
用户头像

发布了 63 篇内容, 共 28.1 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

提质增效|大型汽车制造业运维精细化管理建设实战

云智慧AIOps社区

智能运维 运维管理

Node.js环境下淘宝商品详情接口开发实践

tbapi

淘宝商品详情数据接口 淘宝数据采集

网站安全方面,漏洞扫描VSS能提供哪些帮助

德迅云安全杨德俊

inBuilder低代码平台新特性推荐-第十七期

inBuilder低代码平台

开源 低代码

聚道云助IT公司破解数据同步难,高效转型新利器!

聚道云软件连接器

案例分享

Flutter应用在苹果商店上架前的准备工作与注意事项

Python的流程控制,你真的会了吗?(一)

霍格沃兹测试开发学社

前十名单公布|OpenTiny 前端 Web 应用开发挑战赛初赛结果揭晓~

OpenTiny社区

开源 前端 低代码 组件库

架构实战营 - 模块四作业

满心

架构实战营

ETL中如何自定义规则

谷云科技RestCloud

数据同步 ETL 数据规则

无需注册即可使用 ChatGPT;Poe 创始人:大模型幻觉是创业公司的机会丨RTE 开发者日报 Vol.176

RTE开发者社区

被 AI 写的游戏代码砸中是什么感觉 | 10 分钟打造你的超级 AI 编码助手

阿里云云效

阿里云 云原生 通义灵码

10分钟带你了解 Linux 系统中的 Top 命令

霍格沃兹测试开发学社

云智慧:拥抱AI算法驱动的智能运维服务创新引擎

云智慧AIOps社区

人工智能 自然语言处理 算法

跨界创新,数字赋能:探索低代码平台的多元化应用场景

优秀

低代码 低代码开发平台 低代码平台 低代码应用场景

谈谈我对 AIGC 趋势下软件工程重塑的理解

阿里云云效

阿里云 云原生 AIGC 通义灵码

“不知今夕是何年”的周基年解法|得物技术

得物技术

Java 程序员 前端 后端 企业号 4 月 PK 榜

我们是如何测试人工智能的(一)基础效果篇(内含大模型的测试内容)

测吧(北京)科技有限公司

劳动力规划:对企业加速运营的未来展望

智达方通

企业管理 企业转型 全面预算管理 劳动力规划

Java 的诞生——从 Oak 到 Java

胡译胡说

Java 历史

【详细注释+流程讲解】基于深度学习的文本分类 TextCNN

阿里云天池

机器学习 阿里云

从 Redis 开源协议变更到 ES 国产化:一次技术自主的机遇 记某客户的一次无缝数据迁移

极限实验室

console Gateway easysearch

聚道云软件连接器:助力企业财务效率提升的成功案例

聚道云软件连接器

案例分享

微调工程师岗位可能并不存在,但使用 AI 编码工具已经成为刚需

阿里云云效

阿里云 云原生 AIGC 通义灵码

天池医疗AI大赛[第一季] Rank8解决方案[附TensorFlow/PyTorch/Caffe实现方案]

阿里云天池

人工智能 阿里云

知识图谱在五大智能领域的应用

悦数图数据库

知识图谱

Rank4 NLP新闻文本分类-开源代码+经验分享@惊鹊

阿里云天池

机器学习 阿里云

解密通义灵码:软件研发工具的“大脑”

阿里云云效

阿里云 云原生 通义灵码

SQLite移植到了.NET_.NET_Abel Avram_InfoQ精选文章