• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > ASP.NET(C#) String, StringBuilder 与 StringWriter性能比较

ASP.NET(C#) String, StringBuilder 与 StringWriter性能比较

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了c asp.net实例,c asp.net教程,c asp.net 入门,c asp.net视频教程,c asp.net 控件等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
直观认识:正面交锋 
性能测试1:StringBuilder 
第 1 轮测试:用时 312.5 毫秒 
第 2 轮测试:用时 421.875 毫秒 
第 3 轮测试:用时 453.125 毫秒 
第 4 轮测试:用时 421.875 毫秒 
第 5 轮测试:用时 453.125 毫秒 
性能测试2:StringWriter 
第 1 轮测试:用时 406.25 毫秒 
第 2 轮测试:用时 453.125 毫秒 
第 3 轮测试:用时 421.875 毫秒 
第 4 轮测试:用时 437.5 毫秒 
第 5 轮测试:用时 437.5 毫秒 
性能测试3:String(1/100 数据量) 
第 1 轮测试:用时 12406.25 毫秒 

您注意到了吗? 
       String 连接方式在只有 1/100 数据的测试下,使用时间30倍于 StringBuilder。因此,基于性能的考量,我们绝不推荐这种方式。而 StringBuilder 较之 StringWriter 略胜一筹,具体的原因将在下文中分析。当然,测试存在误差,但足以说明事实。 

StringWriter 与 StringBuilder:谁是强者 
        StringWriter 位于 System.IO 命名空间内,继承于 TextWriter。在 .Net Reflector 的反编译结果中显示,它的内部事实上是采用 StringBuilder 进行连接。无怪乎 StringWriter 会略逊一筹,它原来仅仅是 StringBuilder 的一个适配(可以称之为 Adapter 模式)。为什么 StringBuilder 拥有如此的效率? 

您注意到了吗? 
在许多地方,需要 StringWriter 而不是 StringBuilder,例如 XmlTextWriter。 

StringBuilder:原因何在 
       关于 System.Text.StringBuilder 的研究,网上已有不少,其主要原理便是预先以非托管方式分配内存,保证文本的修改与扩张,不重新创建一个 String 对象。而 String 对象的创建,便是性能瓶颈所在。它的连接效率远超过 String,不过在少量的文本连接时,显然 String 编程时更方便些。 
</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • ASP.NET数据库操作类实例
  • ASP.NET导出word实例
  • asp.net反射简单应用实例
  • ASP.NET中的C#基础知识
  • asp.net core mvc实现文件上传实例
  • ASP.NET Core 导入导出Excel xlsx 文件实例
  • Asp.net中安全退出时清空Session或Cookie的实例代码
  • asp.net保存网上图片到服务器的实例
  • asp.net多文件上传实例讲解
  • ASP.Net分页的分页导航实例

相关文章

  • 2017-05-11Asp.net中Response.Charset与Response.ContentEncoding区别示例分析
  • 2017-05-11一个ASP.NET的MYSQL的数据库操作类自己封装的
  • 2017-05-11Asp.net+jquery+.ashx文件实现分页思路
  • 2017-05-11C#实现支持断点续传多线程下载客户端工具类
  • 2017-05-11asp.net列出某文件夹下的所有文档,包括子目录下的档案
  • 2018-08-20使用重绘项美化WinForm的控件
  • 2017-05-11vim vax 快捷键大全
  • 2017-05-11Asp.Net 网站优化系列之数据库优化 分字诀 分表(纵向拆分,横向分区)
  • 2017-05-11ASPNET中JSON的序列化和反序列化的方法
  • 2017-05-11在asp.net网页中显示数学符号的代码

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Log4net日志记录组件的使用步骤详解和下载
    • ASP.NET使用Ajax返回Json对象的方法
    • 在asp.net中实现datagrid checkbox 全选的方法
    • asp.net 2.0中利用Ajax2.0实现JSON传送大量页面数据
    • asp.net微信开发(开发者接入)
    • 解决Win10无法安装.Net Framework 3.5提示错误代码0x800F081F
    • ASP.NET程序中常用代码汇总
    • C#实现Web文件上传的两种方法实例代码
    • C#使用正则表达式实例
    • ASP.NET MVC页面重定向简单介绍

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有