当前位置: 首页 > news >正文

做征婚网站wordpress oss官方

做征婚网站,wordpress oss官方,附近临时工500元一天,佛山网站建设哪家便宜【导读】实际项目开发中、有部分童鞋可能无时无刻都在关注性能#xff0c;那么我们到底应该什么时候关注性能呢#xff1f;个人以为#xff0c;性能并非一次性就可完全成全#xff0c;需结合实际业务有一个大致评估或预期#xff0c;比如数据量大小#xff0c;若预期短暂… 【导读】实际项目开发中、有部分童鞋可能无时无刻都在关注性能那么我们到底应该什么时候关注性能呢个人以为性能并非一次性就可完全成全需结合实际业务有一个大致评估或预期比如数据量大小若预期短暂并不会达到性能瓶颈大可不必过度考虑又或者根据自我假想可能存在性能问题于是大张旗鼓陷入自我意识流最终可能结果吃亏反而不讨好项目性能考虑此前我个人写过一版Excel导入和导出并未使用对应开源组件因为导出和导入逻辑并不复杂不涉及单元格拆分、包含图片、下拉框等等但处理起来也并没有什么难度借助NPOI或EPPLUS工具皆可满足于是我尝试将此前封装Excel导入和导出做了进一步重构处理主要为解决此前遗留问题其一表头列和实体属性列顺序必须一一对应其二导出由于Excel单个Sheet行有限制超出一定行必须重建Sheet其三大量使用反射若存在多个Sheet且每个Sheet行数量稍微巨大则存在一定性能瓶颈如上两点可以简单解决这里我们忽略问题在于第三点因为使用泛型针对每一行读取都会反射对象同时也要获取其实例属性并赋值这里我们完全可以改善下性能接下来我们通过一个简单例子来演示如何改善反射性能当然也还有其他方案这里我只介绍我个人的方案反射性能改善如一部分开源组件一样我们通过特性标识属性属性名称和表头列匹配顺序无需一致同样属性可忽略赋值基于上述情况我们要获取对应实体所标识的属性特性这里为便于后续属性赋值我们缓存属性相关信息避免频繁通过反射获取属性信息接下来我们来到属性赋值和获取我们以设置值为例获取值同理同时以1万作为基数来验证然后以此基数递增如下测试实体public class Test {public int Id { get; set; }public string Name { get; set; } } 反射属性赋值示例如下static void ReflectionExample(int count) {var stopWatch  new Stopwatch();stopWatch.Start();var tests  Enumerable.Repeat(new Test(), count).ToList();var propertyIdInfo  typeof(Test).GetProperty(Id);var propertyNameInfo  typeof(Test).GetProperty(Name);foreach (var test in tests){propertyIdInfo.SetValue(test, 1);propertyNameInfo.SetValue(test, jeffcky);}Console.WriteLine($反射赋值耗时{stopWatch.ElapsedMilliseconds}ms); } 当然根据笔记本配置以及所使用耗时方案不标准结果会存在差异但基本可判断反射耗时会有20ms以上接下来我使用委托方式来直接调用属性Set方法看看性能是否会有改善static void DelegateExample(int count) {var stopWatch  new Stopwatch();stopWatch.Start();var tests  Enumerable.Repeat(new Test(), count).ToList();var setId  (ActionTest, int)Delegate.CreateDelegate(typeof(ActionTest, int), null, typeof(Test).GetProperty(Id).GetSetMethod());var setName  (ActionTest, string)Delegate.CreateDelegate(typeof(ActionTest, string), null,typeof(Test).GetProperty(Name).GetSetMethod());foreach (var test in tests){setId(test, 3);setName(test, jeffcky);}Console.WriteLine($委托赋值耗时{stopWatch.ElapsedMilliseconds}ms); } 接下来我们对比反射1万条数据属性赋值看看耗时情况怎样通过运行多次通过调用委托赋值其耗时基本可控制在5ms以内想想差距还是有点大接下来我们将数据量直接上升到100万看看其差距结果显而易见通过反射耗时将超过1s而委托赋值则控制在几十ms如果再加上属性的个数和获取属性值耗时时间势必将会再一次拉大为何很多人都说反射性能很差因为引入反射会通过如下几步对性能有巨大损耗其一检查所调用方法是否存在其二检查其安全性和访问可见性其三检查签名确保所提供的参数和类型的数量与方法定义签名一致其四解出参数此文意非强调不能用反射网上讨论也很多还是老话根据实际业务情况具体分析别整体就惦记和揪着性能不放比如针对快递行业导入和导出操作可谓再正常不过其导入数量也是庞大对于此种情况我们是否可考虑通过结构体存储数据呢一切皆通过实际场景出发。那么问题来了写本文的目的是什么呢???? 时常自我多学习多思考多尝试多积累是否存在更好解决方案我们都可明显觉察玩来玩去就那么点语法为什么别人就能玩出不一样的花样问题在哪里
http://wiki.neutronadmin.com/news/10120/

相关文章:

  • 信誉好的大连网站建设锐奇智能手机网站建设
  • 重庆网站空间世界互联网峰会概念股
  • 建立网站纯文字版本网站如何建立品牌形象
  • 京东企业的电子网站建设网站推广的方法和技巧
  • 快速申请免费个人网站网站管理后台模板
  • 网站建设_seo技术支持东莞 网站 建设 汽车
  • 深圳公司注册需要资料外贸seo教程
  • 免费做网站的方法豆各庄做网站的公司
  • 如何设计一个企业网站计算机专业做网站的开题报告
  • 案例学习网站建设方案摸摸学校推荐网站建设的电销该怎么打
  • .net网站制作综合实训报告做网站过程用文件
  • 重庆做公司网站信誉好的邯郸网站建设
  • 做网站需要什么许可证网站建设人力资源人员配置
  • 最好的wordpress 网站网站安全防护
  • 4线城市搞网站开发云平台网站优化
  • 做淘宝客网站骗钱黄岐建网站
  • 网站设置合理的内链机制制作公司网页软件
  • app网站开发的特点移除wordpress上边栏
  • 2016个人做淘宝客网站制作软件的公司有哪些
  • wordpress 国外主题站杭州十大电商公司排名
  • 可以做英文教师的网站湖北做网站多少钱
  • 广州萝岗网站建设东营建设有限公司
  • 阿里云做企业网站链网
  • 阳江做网站镇江优化九一
  • 毕业设计论文网站开发需要多少我想建个自己的网站
  • 襄阳网站定制项目计划书范文
  • 建网站做站长宝安网站建设哪家便宜
  • 网站套餐到期啥意思什么语言做网站最好
  • 做网站上极海网自己0基础怎么创业
  • 四网一体网站建设方案网站开发找哪家好