有关于 NHibernate 与 Fluent NHibernate 启动性能的数据吗?

2023-11-29

简而言之,什么方法效果更快:

  • SessionFactory 预编译 XML 配置,或
  • 流畅的 NHibernate 提供 以编程方式配置 ?

我个人的经验是,配置对象的构建(无论是否使用 Fluent,这是不可避免的*)通常会使设置 FluentConfiguration 对象所需的时间相形见绌,并且随着映射数量的增加,该因子也会增加。

在 2.5 Ghz c2d 上,我的项目大约有 15 个映射,FluentConfiguration 花费了 360ms,Configuration 花费了 5215ms。

在具有 1000 个映射(具有 2-3 个字符串属性的简单类)的测试项目中,FluentConfiguration 花费了 470 毫秒,Configuration 花费了 40336 毫秒(40 秒!)。

*Actually, not really. most of the cost of Configuration comes from validating the XML mappings. Ayende has discussed it here (as well as a quick speedup obtained from merging the mappings into a single file), and a possible alternative to building the configuration at application startup is to serialize it as discussed here. In the 1000-mapping test project, this reduced the time required to get a Configuration object to around 30ms (although it has also increased the time required to build the SessionFactory from ~3 to ~4 seconds - I am unsure why).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有关于 NHibernate 与 Fluent NHibernate 启动性能的数据吗? 的相关文章

  • NHibernate 3.2 通过代码(Conformist)字典属性的类映射

    假设我有一个类 So meClass 它有一个查找字典 数据字典 我目前在 SomeClass hbm xml 中有一个映射 如下所示
  • Sql 2008 文件流与 NHibernate

    我试图在 sql server 2008 中使用 Filestream 来存储用户上传的图像 我的问题是NHibernate不会出错 但它也不会将数据保存到数据库中 没有创建记录 下面的 Image 类是一个自定义类 不要与 System
  • 如何使用 NHibernate 和 Fluent NHibernate 存储未截断的 varchar(max) 字符串

    我的数据库模式有一个 varchar max 字符串 我读过另一本问题 https stackoverflow com questions 2343105 override for fluent nhibernate for long te
  • NHibernate 将多个表映射到一个类

    在我的旧数据库中 我遇到这样的情况 TableA id A PK cod A TableB id B PK cod B id A FK TableC id C PK cod C id B FK 由于多种原因 我需要将这些表映射到单个类中 本
  • 如何告诉 NHibernate 始终强制引用标识符?

    正如标题 我如何一劳永逸地告诉NHibernate 所有表名和列名都将在它生成的SQL 中引用 您还可以尝试 SchemaMetadataUpdater QuoteTableAndColumns configuration
  • NHibernate HiLo 生成和 SQL 2005/8 模式

    我手头上有一个问题 我花了几天时间寻找答案但无济于事 我们正在使用 HiLo Id 生成 一切似乎都工作正常 只要实体表处于同一架构中作为 hibernate unique key 表 表结构非常简单 我的 hi 值表在数据库中为 dbo
  • NHibernate:CreateCriteria 和 Exists 子句

    如何使用 CreateCriteria 编写以下 SQL SELECT FROM FooBar fb WHERE EXISTS SELECT FooBarId FROM Baz b WHERE b FooBarId fb Id 您可以这样做
  • NHibernate:查找脏集合

    我知道怎么做查找脏属性 http nhforge org wikis howtonh finding dirty properties in nhibernate aspx使用NHibernate 但它似乎不适用于集合 即找出是否已在集合中
  • 尽管 HQL 获取,Nhibernate 仍然生成代理

    我有以下 HQL 语句 select distinct t from TaskEntity as inner join fetch t Case as c inner join fetch c Client as client inner
  • 自动映射约定可以与映射覆盖一起使用吗?

    我的 id 有一个约定 它会自动映射名称为Id作为标识符 随着需求的充实 我需要调整域模型 所以很自然地我上网发现我需要创建一个继承自的类IAutoMappingOverride
  • NHibernate.Linq 类似

    如何使用 NHibernate Linq 生成此查询 WHERE this Name LIKE p0 p0 test Notice NO wild card 请注意 这不是 Linq To Sql 或实体框架 这就是 NHibernate
  • NHibernate 在生产中很少会抛出违反主键异常,无法用测试用例重现

    试图弄清楚这个问题 对我来说 这似乎不可能 我的服务器报告在繁忙的服务器上每天发生一次或两次以下错误 PlaylistItem create System Data SqlClient SqlException Violation of P
  • 映射枚举列表

    我有一个名为 UserPermissions 的表 其中通过 userId 与用户表进行 FK 然后是一个用于枚举字符串值的字符串列 我看到的错误是 NHibernate MappingException 表 UserPermissions
  • NHibernate同时将两列作为复合键和外键

    首先 我在网上和这里进行了彻底的搜索 但没有找到解决手头任务的明确解决方案 如果我的搜索不够准确并且这个答案已经发布 我深表歉意 问题 我有一张桌子 该表必须在两个字段上有一个主键 并且其他字段包含一些数据 作为主键的两个字段也必须是外键
  • Fluent NHibernate 中的 NHibernate 配置属性

    我正在考虑在我的项目中使用 Fluent NHibernate 但我还没有找到任何关于 FH 是否支持 NHibernate 设置 例如 show sql 和prepare sql 的文档 我可以在紧要关头没有 show sql 生活 但p
  • ASP.NET MVC 应用程序中的工作单元模式

    我一直在看这个优秀的blog http www nhforge org wikis patternsandpractices nhibernate and the unit of work pattern aspx标题为 NHibernat
  • 使用无状态会话延迟查找字典值

    在我的应用程序中 我设置了一个三元字典映射 以便对于给定用户 我可以检索属于该用户的对象的每个实例的 设置 也就是说 我有类似的东西 public class User public virtual IDictionary
  • Fluent Nhibernate 如何在 SubclassMap 中指定 Id()

    我正在使 Fluent NHibernate 适应我们现有的遗留应用程序 并尝试确定如何将 ClassMap 和 SubclassMap 用于所示的实体层次结构 BaseObject contains database columns co
  • Fluent Nhibernate 映射的单元测试

    我正在尝试了解社区的其他成员如何测试他们的 Fluent Nhibernate 映射 假设我有以下映射 public UserHeaderMap Table USER HEADER Id x gt x Id USER ID Map x gt
  • NHibernate 二级缓存 - 驱逐区域

    我们在 nHibernate 实现中设置了许多缓存区域 为了避免负载平衡 Web 服务器出现问题 我想有效地禁用编辑缓存数据的页面上的缓存 我可以编写一个方法来轻松清除所有查询缓存 类缓存和实体缓存 但我真正想要的是按区域清除缓存 sess

随机推荐

  • 仅将字典的最新值添加到列表中[重复]

    这个问题在这里已经有答案了 通过 for 循环创建字典列表 我一直在尝试通过 for 循环创建字典列表 代码如下所示 a x y z b 1 2 3 dict1 superlist for i in range 0 len a dict1
  • javaassist 和 cglib 之间的区别

    我学习hibernate 我了解到hibernate已经停止使用cglib并切换到javaassist 我还了解到javaassist和cglib用于代理生成 所以我想知道这两者是如何工作的以及哪一个更好 他们的工作方式有什么区别 Cgli
  • 将 R 变量传递给 sql 语句

    有没有办法将 R 中定义的变量传递给 sqldf 包中的 SQL 语句 我必须运行下面的代码 并将 v 变量作为 v 传递给 sql select 语句 for i in 1 50 v lt i 450 temp lt sqldf sele
  • sys_brk 的对齐要求是什么

    我正在使用 sys brk 系统调用动态分配堆中的内存 我注意到 在获取当前中断位置时 我通常会得到与此类似的值 mov rax 0x0C mov rdi 0x00 syscall 结果是 rax 0x401000 该值通常按 512 字节
  • javascript 找不到图像文件(Rails 4 应用程序)

    我有一个 Ruby on Rails 4 应用程序 在app assets javascripts 我创建了一个文件map js在谷歌地图上绘制一些自定义标记 var marker new google maps Marker dragga
  • 对于不相等的列表,eq 返回 true

    我有一段奇怪的代码需要调试 我认为它应该抛出异常 但它却产生了完全奇怪的结果 将其简化为这两行 EDU gt gt A 0 0 A 0 0 EDU gt gt A 1 2 A 2 1 ans 1 为什么两个不相等的逗号分隔列表的比较是正确的
  • Python - 如何跳过特定的 JSON 元素?

    query pages 7412236 pageid 7412236 ns 0 title Steve Jobs extract p b Steven Paul b b Steve b b Jobs b u02c8d u0292 u0252
  • jQuery 中的 onHide() 类型事件

    有谁知道一个onHide jQuery 中的事件或类似的东西 I tried this bind hide function console log asdasda 但显然这不起作用 Edit 只是为了澄清 它是使用 CSS 隐藏的disp
  • 在同一脚本中启动并调用 Ruby HTTP 服务器

    我想知道如何启动 Ruby Rack 应用程序 例如 Sinatra 并在同一脚本中使用 Net HTTP 或类似方法调用它 当然我可以做类似的事情 require sinatra base require net http t Threa
  • 将 json 反序列化为 pojo,其中 json 字段具有不同的数据类型

    我正在尝试将 json 反序列化为 java pojo 但我无法理解应该如何开始创建一个可用于反序列化 json 的 java 对象 如下所示 links version 2 executionState completed outputs
  • Selenium WebDriver - Java - 单击按钮

    我正在尝试单击一些按钮 并使用 twitch 上的 关注 按钮作为示例 我使用 Selenium IDE 尝试获取按钮的 xpath 我得到的 xpath 是 span id ember637 a span 如果我转到 FireFox 并复
  • 具有缺失值的多元 LSTM

    我正在使用 LSTM 解决时间序列预测问题 输入包含多个特征 因此我使用多元 LSTM 问题是有一些缺失值 例如 Feature 1 Feature 2 Feature n 1 2 4 nan 2 5 8 10 3 8 8 5 4 nan
  • EACCES:权限被拒绝,打开 '/usr/local/lib/node_modules/npm/bin/npm-cli.js'

    你好 先生 我是 docker 新手 我正在使用 ubuntu budgie linux 20 04 我的 docker 版本是Docker version 18 09 9 build 1752eb3我已经使用 snap 包管理器安装了 d
  • 更改基本 MVVM 的当前实现以遵循 SOLID 模式

    我一直在使用在线提供的 MVVM 示例中通常提到的基本设计模式编写所有 MVVM 应用程序 我遵循的模式如下所述 Model 本节包括 DTO 类及其属性和接口 IDataService 等 public class Employee pu
  • python 3.6 与旧版本中的字典顺序

    当我运行它时 我需要按照这个确切的顺序打印这段代码 访客团队 访客评分 主队 主评分 预期获胜者 利润 tabulate final dict Visitor Team visitor team Visitor Rating visitor
  • document.getElements() 支持

    document getElements 函数的支持程度如何 此外 是否有一个 javascript 参考页面 其中包含详细的浏览器支持信息 我通常使用 mozilla 文档 但我想知道是否有更好的东西 我实际上找不到有关 document
  • 防止为类或模块创建新属性

    我在SO上看到这个问题防止在外部创建新属性init它展示了如何防止向类的对象添加新属性 我希望整个类甚至整个加载的模块具有相同的行为 示例类 class Klass a 0 b 1 另一个模块 from Klass import Klass
  • 如何在Python中制作可点击的图像

    我是 python 图像编程的初学者 如果我单击图像 我需要显示您单击的图像 1 像那样 到目前为止我尝试过的内容附在下面 始终显示 img 1 img 1 img 1 但不起作用 from tkinter import from tkin
  • 从mysql数据库获取带有unix时间戳的最近30分钟的记录

    我想从 mysql 数据库的表中获取数据 其中我的时间戳为 unix 格式 我在做了一些研究后使用了以下查询 但仍然无法获得结果 它显示空行 谁能帮忙 SELECT FROM bs items WHERE owner id 3 AND ti
  • 有关于 NHibernate 与 Fluent NHibernate 启动性能的数据吗?

    简而言之 什么方法效果更快 SessionFactory 预编译 XML 配置 或 流畅的 NHibernate 提供 以编程方式配置 我个人的经验是 配置对象的构建 无论是否使用 Fluent 这是不可避免的 通常会使设置 FluentC