`
feipigwang
  • 浏览: 783785 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

DataRabbit 轻量的数据访问框架(13)--DataRabbit 3.0 ORM性能大幅度提升!

 
阅读更多
DataRabbit 3.0重写了DataRabbit 2.0的ORM实现的内核,性能提升了90倍左右,结果是DataRabbit 3.0的ORM性能与直接使用ADO.NET的性能已经非常接近。这是如何做到的?
主要是基于两点:
(1)DataRabbit 2.0 基于泛型和反射实现,而DataRabbit 3.0 基于泛型和Emit动态程序集实现。
DataRabbit 2.0使用反射机制将值在O和R之间传递,如此大量使用反射会使性能折损不少。DataRabbit 3.0在运行时,会根据Table的Schema动态发射(Emit)针对该表的数据访问器(Accesser)于内存中,并缓存它。DataRabbit 3.0将直接使用发射得到的数据访问器来实现值在O和R之间的传递,完全避免的反射。

(2)缓存Table Schema。
2.0版本中,当IORMAccesser基于Transaction时,其所采用的ISchemaAccesser也是基于Transaction的,由于ISchemaAccesser基于Transaction,所以一个ISchemaAccesser对象在本次事务结束时也会释放,这使得已经获取的Table Schema无法缓存(虽然ISchemaAccesser自身有缓存Schema的功能)。于是,我修改IORMAccesser使其采用基于非事务的ISchemaAccesser,这样Table Schema就会被缓存下来以重复使用,避免了每次ORM Transaction 访问数据库时,都需要去重新获取Schema所带来的性能损失。

(3)其它细节优化。

DataRabbit 2.0与 DataRabbit 3.0关于ORM的性能对比。

(注:结算一局需要在同一Transaction中6次访问数据库,其中还包含了业务计算。)

下面给出DataRabbit 3.0的下载。

关于DataRabbit的更多介绍请见:DataRabbit 轻量的数据访问框架(00) -- 序
分享到:
评论

相关推荐

    hibernate-configuration-3.0.dtd、hibernate-mapping-3.0.dtd

    在Java世界里,Hibernate作为一款强大的对象关系映射(ORM)框架,极大地简化了数据库操作。而`hibernate-configuration-3.0.dtd`和`hibernate-mapping-3.0.dtd`是Hibernate 3.0版本中的两个核心文件,它们定义了...

    subsonic-SubSonic-3.0-3.0.0.4-89-g18114a1源码

    7. **性能优化**:通过对数据库操作的优化,SubSonic 3.0在性能上有所提升,尤其是在处理大量数据和复杂查询时。 压缩包中的 "subsonic-SubSonic-3.0-18114a1" 文件可能包含了源代码、文档、示例项目和其他相关资源...

    subsonic-SubSonic-3.0-3.0.0.4-89-g18114a1源码文件

    通过研究源代码,开发者可以学习到如何设计高效的数据访问层,以及如何利用ORM框架提高开发效率。 总的来说,"subsonic-SubSonic-3.0-3.0.0.4-89-g18114a1源码文件"是学习和研究SubSonic框架,特别是其3.0版本的一...

    Android-ORM-benchmark,android orm框架的性能比较.zip

    2. **GreenDao**:这是一个高效、轻量级的ORM框架,通过代码生成工具将实体类与数据库表关联,提供了便捷的API进行数据操作。 3. **Realm**: Realm是一款高性能的数据库,它的API设计非常接近于对象存储,支持实时...

    hsweb-easy-orm, 简单的orm工具,为动态表单而生.zip

    总结来说,HSWeb-Easy-ORM 是一个针对动态表单设计的轻量级 ORM 工具,旨在简化数据库操作并提高开发效率。它的开源性质使得开发者能够充分利用社区资源,解决实际问题,同时也为有经验的开发者提供了深入学习和贡献...

    安卓开发-Android轻量级sqlite orm框架.zip.zip

    4. **轻量级ORM框架选择**:Android社区有许多轻量级的SQLite ORM框架,如ActiveAndroid、ORMLite、GreenDAO、SugarORM等。这些框架各有特点,比如GreenDAO以其高效的性能著称,而SugarORM则以其简单易用的API吸引...

    sfm-converter-joda-time-3.0.b1.zip

    SFM 是一个用于模型绑定的轻量级框架,而Joda-Time是Java领域广泛使用的日期和时间处理库,因其功能强大和API友好而著名。 【描述】"play-ebean.zip,播放ebean play ebean模块" 提到的是Play Framework中的Ebean...

    Android高级应用源码-Android轻量级sqlite orm框架.zip

    这个压缩包"Android高级应用源码-Android轻量级sqlite orm框架.zip"很可能包含了一个适用于Android的轻量级SQLite ORM框架的示例代码,帮助开发者理解如何在Android应用中高效地使用SQLite。 首先,我们来深入理解...

    轻量级Net的ORM框架

    轻量级ORM框架尤其适合小型项目或对性能要求不高的场景,因为它们通常具有更小的体积、更快的运行速度和更低的学习成本。 "轻量级Net的ORM框架"可能指的是那些专为.NET平台设计的小型、高效的ORM解决方案。这类框架...

    114020-java-SSH2-Struts2.1、Spring3.0、Hibernate3.3大框架整合详细图解.docx

    - **核心功能**:Struts2 是一个基于 Model-View-Controller (MVC) 设计模式的轻量级 Web 应用框架,主要负责处理用户的请求并返回相应的视图。 - **添加 Struts2 能力**:在 MyEclipse8.6 中,通过 Add Struts ...

    Android高级应用源码-Android轻量级sqlite orm框架.rar

    本资料包"Android高级应用源码-Android轻量级sqlite orm框架.rar"提供了这样一个轻量级的SQLite ORM框架,让我们来深入探讨一下这个框架及其背后的原理和使用方法。 首先,SQLite ORM框架的核心思想是将Java对象与...

    mybatis-plus-3.0.rar

    - **缓存机制**:支持二级缓存,可以有效提升数据读取速度。 3. **扩展性**: - **自定义全局配置**:通过GlobalConfig,用户可以自定义全局配置,如逻辑删除值、字段填充策略等。 - **自定义拦截器**:MP允许...

    安卓SQLite数据库相关-Android轻量级sqliteorm框架.zip

    在"Android轻量级sqlite orm框架.zip"中,可能包含了一个或多个ORM库的示例代码,如ActiveAndroid、GreenDao、SugarORM、ORMLite等。这些框架都有各自的优缺点,例如: 1. **ActiveAndroid**:提供了一套简单的API...

    轻量级ORM工具 DataRabbit3.2

    比如,DataRabbit对你的数据库设计没有任何要求(而有的数据访问框架可能要求数据表必须有唯一主键)。 2. 约定优于配置。使用DataRabbit不需要任何配置,这使得DataRabbit更加易用。 3. 数据库类型无关性。统一的...

    Java反射机制在数据持久层轻量级ORM框架中的应用研究.pdf

    这个特性在很多方面都有广泛的应用,尤其是在数据持久层(Persistence Layer)的轻量级对象关系映射(Object-Relational Mapping,简称ORM)框架中。ORM框架的主要目的是为了简化数据库操作,并将数据库中的数据映射...

    轻量级orm框架源码

    ORM(Object-Relational Mapping,对象关系...通过对这些知识点的深入学习,开发者不仅可以掌握轻量级ORM框架的使用,还能提升在数据库操作和面向对象编程方面的技能,这对于任何涉及到数据库操作的项目都是宝贵的财富。

    114020_java-SSH2-Struts2.1、Spring3.0、Hibernate3.3大框架整合详细图解.docx

    在Java开发领域,SSH2(Struts2、Spring3.0、Hibernate3.3)是经典的三大框架整合,常用于构建复杂的企业级Web应用程序。这三个框架各司其职,Struts2负责MVC模式中的Action层,Spring3.0则处理依赖注入(DI)和面向...

    spring3.0轻量级框架

    Spring 3.0是Spring框架的一个重要版本,它在轻量级、模块化和灵活性方面进一步提升了Java企业级应用的开发效率。以下是对Spring 3.0关键特性和功能的详细解析: 一、核心容器(Core Container) Spring的核心组件...

    Android轻量级sqlite orm框架-IT计算机-毕业设计.zip

    本项目是一个关于Android轻量级SQLite ORM框架的毕业设计示例,旨在帮助学生理解如何在实际应用中高效地利用SQLite进行数据操作。ORM(对象关系映射)技术将数据库操作与业务逻辑代码分离,简化了数据库访问,使得...

    subsonic-SubSonic-3.0-new

    它作为一个轻量级的ORM(对象关系映射)工具,能够帮助开发者快速构建数据库应用程序,而无需编写大量的SQL代码。SubSonic 3.0是该框架的一个版本,它带来了许多改进和新特性。 在"subsonic-SubSonic-3.0-...

Global site tag (gtag.js) - Google Analytics