代码改变世界

[置顶]Large Object Heap内存碎片在.NET 4.5中的改进

2011-10-18 21:57 by refined code, 1874 阅读, 7 推荐, 收藏, 编辑
摘要:.NET 4.5已然到来,预览了解了下Large Object Heap在.NET 4.5中的效能改进。借此和大家来探讨下。本文不讨论Loder Heap,SOH(samll object heap),LOH(large object heap),JIT Heap,Process Heap关系和区别。也不会着重讨论GC,单论Large Object Heap在.NET 4.5中的改进。 在比较频繁使用Large Object(对象不小于85,000bytes)系统中,经常容易抛出Out-of-memory的exception。可能我们的物理内存已经不足够使用,然而有时在物理内存足够的情况下,. 阅读全文

[置顶]深入了解Dynamic & DLR(二)

2011-09-23 11:33 by refined code, 2944 阅读, 11 推荐, 收藏, 编辑
摘要:DLR(Dynamic Language Runtime),是微软的一个开源项目。为.NET应用程序提供了动态脚本注入技持。DLR构建的功能包含两个方面,一个是共享的动态类型系统,一个是标准的承载模型。但是VS2010并没有集成相关dll,大家可以从Codeplex获得源码,目前最新版本为1.0。这里不得不提到CLR,它是整个运行环境的基础,DLR也是运行在其之上的,这样是有显而易见的好处的,CLR的垃圾回收、JIT编译、安全模型,DLR也能享用这些底层架构功能,如果我们对垃圾回收进行优化,或者是提供某种功能,那么DLR相应的也能享用这种便利。DLR内部为了提高执行效率,会从自己先compile script,然后cache。有些类似JIT机制。避免重复加载,解析外部脚本。 阅读全文

[置顶]深入了解Dynamic & DLR(一)

2011-09-21 16:46 by refined code, 2709 阅读, 13 推荐, 收藏, 编辑
摘要:SOA在业务平台整体上进行布局整合,发布服务契约,数据契约等等,那么涉及细颗粒度的操作,比如说商场需要实时对销货策略进行变更。1.客户类别不同打折销售,2.节假日不同打折,3.不同的商品类别折扣不同,4.促销商品折扣,5.销售额满多少,折扣多少等等,我们需要以后对销售策略进行实时维护,能新增,删除,修改。在当前我们可能通过App.config文件设置不同参数值来满足我们的业务需求,或者通过dll反射的方式来选择不同销售策略。但这些能灵活配置的有限,无法满足日益增长复杂业务逻辑的变化。对此我们需要这些业务需求能够“动态加载,动态注入”,最好是脚本语言,不需要进行第二次编译,现有的Framework能够自动解析执行。 阅读全文