写点什么

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:563485
用户头像

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

关注

评论

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

InfoQ 写作平台的魔力

Yolanda

第九周作业

极客大学架构师训练营

Netty源码解析 -- 对象池Recycler实现原理

binecy

Netty 对象存储 高性能

【架构师训练营】第九周作业:性能优化

MindController

秒杀系统

架构师训练营 week5 课后作业

花果山

极客大学架构师训练营

能源区块链研究|区块链与核电安全

CECBC

区块链 核电

JVM垃圾回收原理,秒杀系统架构方案

garlic

极客大学架构师训练营

技术选型总结一

Mars

技术选型

Java 中常见的细粒度锁实现

rookiedev

Java 多线程 细粒度锁

第9周作业1

Yangjing

极客大学架构师训练营

第9周作业2

Yangjing

极客大学架构师训练营

架构师 01 期,第九周课后作业

子文

架构师训练营第九周课程笔记及心得

Airs

【喜讯】Apache DolphinScheduler 荣获 “2020 年度十大开源新锐项目”

代立冬

Apache 大数据 开源 DolphinScheduler Apache DolphinScheduler

架构师训练营 1 期第 9 周:性能优化(三)- 总结

piercebn

极客大学架构师训练营

架构师训练营第 9 周作业

netspecial

极客大学架构师训练营

第五周作业

晴空万里

极客大学架构师训练营

大数据和Hadoop平台介绍

MySQL从删库到跑路

大数据 hadoop

架构师训练营第 9 周课后练习

叶纪想

极客大学架构师训练营

Week5 作业1

Sean Chen

助推城市智慧化!正舵者携手中科院演绎区块链魅力

CECBC

区块链 人工智能

二分法求平方根,swift面向协议编程protocol从入门到精通、《格局》吴军著读后感、John 易筋 ARTS 打卡 Week 27

John(易筋)

collection ARTS 打卡计划 格局 吴军 李嘉图定律 面向协议protocol编程

架构师训练营 week5 学习总结

花果山

极客大学架构师训练营

秒杀系统

橘子皮嚼着不脆

架构师训练营第二期 Week 5 作业

bigxiang

极客大学架构师训练营

架构师训练营第二期 Week 5 总结

bigxiang

极客大学架构师训练营

Week 9 作业01

Croesus

【架构师训练营第 1 期 09 周】 学习总结

Bear

极客大学架构师训练营

5G+工业互联网的中国登山队,如何攀跃“产业化”山峦?

脑极体

应届秋招生,熬夜吃透华为架构师这份‘典藏级’计算机网络+计算机操作系统,成功上岸腾讯

网络协议 编程之路 计算机知识

真零基础Python开发web

MySQL从删库到跑路

Python django Web bottle

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