欢迎来到毕设资料网! | 帮助中心 毕设资料交流与分享平台
毕设资料网
全部分类
  • 毕业设计>
  • 毕业论文>
  • 外文翻译>
  • 课程设计>
  • 实习报告>
  • 相关资料>
  • ImageVerifierCode 换一换
    首页 毕设资料网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    应用过程中asp改进串处理技术性能外文翻译

    • 资源ID:133378       资源大小:101KB        全文页数:31页
    • 资源格式: DOC        下载积分:100金币
    快捷下载 游客一键下载
    账号登录下载
    三方登录下载: QQ登录
    下载资源需要100金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

    应用过程中asp改进串处理技术性能外文翻译

    1、ASP 应用过程中改进串处理技术性能 外文资料翻译 : 1 所译外文资料: 作者: James Musson 书名(或论文题目): Improving String Handling Performance in ASP Applications 出 版 社(或刊物名称):urlhttp:/ url=/library/en-us/dnasp/html/aspstrcatn.asp 出版时间(或刊号): March 2003 所译页码: 2译成中文: 在 ASP 应用过程中改进串处理技术性能 James Musson Developer Services, Microsoft UK March

    2、2003 Applies to: Microsoft®; Active Server Pages®; Microsoft Visual Basic®; 摘要: 大多数活跃的服务器页 (ASP)应用依赖串联建立 HTML 格式化的数据然后被用户使用。本文对各种创造 HTML 数据流的方法进行了比较,其中有一些在特定的情况下有更好的性能。 ASP 和 Visual Basic 编程设计的方法被合理采用了。 绪论 开发者编写 ASP 页,其实是在创造一串格式化正文通过 ASP 提供给网络客户。你能使用多中不同的方法创造该正文,但是你所选择的方法网络应用的性能和可测量性有很大影响。在

    3、帮助用户协调他们 Web 应用性能的许多场合中,我已经发现主要的获胜因素是那个改变 HTML 数据流的方 式。在本文,我将展示一些普通的技术并且测试他们对简单的 ASP 页的性能的影响。 ASP 设计 很多 ASP 开发者已经遵循好的软件设计原则并且模块化他们的代码。这种设计通常采取用某一页的部分离散的功能模块组成新页的形式。线性输出由这些功能实现,通常是 HTML 代码表,然后能通过各种各样结合形式形成完整的一页。一些开发者已经更深入一步研究并且把这些 HTML 函数作为 Visual Basic COM 的组成部分,希望受益于额外的编译代码提供的执行性能。 虽然这是一个好的设计惯例,通过这

    4、种方法建立数据流对网络站点执行效率有较大影响。不管现实操作执行是从 ASP 的包含文件还是 Visual Basic COM 零部件。 数据串串联 考虑下列代码碎片取自 WriteHTML 函数。 命名数据的参数仅仅是一个数组包含一些需要被格式化成一个表结构的数据(数据从数据库返回, 例如)。 Function WriteHTML( Data ) Dim nRep For nRep = 0 to 99 sHTML = sHTML & vbcrlf _ & & (nRep + 1) & _ & Data( 0, nRep ) & _ & Data( 1, nRep ) & _ & Data( 2

    5、, nRep ) & _ & Data( 3, nRep ) & _ & Data( 4, nRep ) & _ & Data( 5, nRep ) & Next WriteHTML = sHTML End Function 这就是为什么很多 ASP 和 Visual Basic 开发者建造 HTML 代码。包含在 sHTML变量里的正文被返回给呼叫代码然后使用 Response.Write 给客户写信。当然,这也能以相似代码表示直接嵌入网页而不使用 WriteHTML 的功能。这条代码的问题在于 ASP 和 Visual Basic 使用的数据类型, BSTR 或者基本数据流,实际上不能改变

    6、长度。这表示每当数据流的长度被改变的时候,数据表示就被破坏,包含新数据类型的数据流随之产生:这结果产生在存储器分配操作和存储器分离操作中。当然,在 ASP 和 Visual Basic 这都由你管理,因此实际上的花费不显示在表面上。分配和再分配存储器要求基础的运行期代码取出专有的锁,因此可能是昂贵的。这在数据量很大并且大块的存储器需要连续快速的被分配时显得特别明显,在重级联线期间也是如此。当这在一种单个的用户环境里不能提出主要的问题时,在服务器环境里例如在 ASP 申请在一个 Web 服务员上运行可能会引起严重的性能和可测量性问题。 因此回到上面的代码碎片:多少数据分配在这里执行?实际上答案是

    7、 16。在这种情况下每次对 &的应用操作引起那些可变的 sHTML 比破坏和重建。我已经提及到数据 分配是昂贵的,随着数据的增加越来越明显; 用这知识武装,我们能对上面的代码加以改进。 快速简单的解决方案 这里有两种方法减轻数据串联的影响,第 1 是为了想办法减少操作的数据流的大小,第 2 是想办法降低数据应用操作的数量。看修订后 WriteHTML 代码,如下。 Function WriteHTML( Data ) Dim nRep For nRep = 0 to 99 sHTML = sHTML & ( vbcrlf _ & & (nRep + 1) & _ & Data( 0, nRep

    8、 ) & _ & Data( 1, nRep ) & _ & Data( 2, nRep ) & _ & Data( 3, nRep ) & _ & Data( 4, nRep ) & _ & Data( 5, nRep ) & ) Next WriteHTML = sHTML End Function 乍一看很难认 出前后代码之间的差别。后一个有插入语在 sHTML = sHTML&。这实际上降低了数据流的大小通过改变数据串联的优先权的大小。在原先的代码里ASP 编译器将考虑表达式的等式右边并且从左到右评价它。这结果在 16 级联操作中包括一直在增长的 sHTML。在新版本中,我们给编译器一

    9、个暗示以改变它执行操作的次序。现在它将从左到右彻底的进行评价,即首先的内部插入语。这技术导致 15 级联操作中包含小的数据流并且只有一个 sHTML 是增长的。图 1 显示了这一个相对于标准串联方法而言的最优化级联方法。 串联 使用插入语在一定的情形下 能使性能和可测量性有相当明显的差别,我将在本文中证明。 The StringBuilder 我们已经知道了对于数据串联问题的最好解决方法,并且它还提供了很多很多情况下在性能和实现的努力之间的平衡。然而,如果我们想要得到改进建造大数据流的性能,我们需要作出第 2 个选择,就是减少数据流分配的数量。为了达到这个目的要求使用 StringBuilde

    10、r。这是一个包含数据结构缓冲器和试图插入新内容的类,且只有在数据长度超过缓冲器的长度时才进行再分配。微软 . NET 免费提供了一个被推荐在全部数据串联环境的类( System.Text.StringBuilder)。在 ASP 和 Visual Basic 世界我们无法使用这种类,因此我们需要创造属于我们自己的。以下是一个使用 Visual Basic 6.0 开发的类 StringBuilder(为了更简练我们忽略了处理错误的规则)。 Option Explicit default initial size of buffer and growth factor Private Const

    11、 DEF_INITIALSIZE As Long = 1000 Private Const DEF_GROWTH As Long = 1000 buffer size and growth Private m_nInitialSize As Long Private m_nGrowth As Long buffer and buffer counters Private m_sText As String Private m_nSize As Long Private m_nPos As Long Private Sub Class_Initialize() set defaults for size and growth m_nInitialSize = DEF_INITIALSIZE m_nGrowth = DEF_GROWTH initialize buffer InitBuffer End Sub set the initial size and growth amount Public Sub Init(ByVal InitialSize As Long, ByVal Growth As Long) If InitialSize 0 Then m_nInitialSize = InitialSize


    注意事项

    本文(应用过程中asp改进串处理技术性能外文翻译)为本站会员(泛舟)主动上传,毕设资料网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请联系网站客服QQ:540560583,我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们
    本站所有资料均属于原创者所有,仅提供参考和学习交流之用,请勿用做其他用途,转载必究!如有侵犯您的权利请联系本站,一经查实我们会立即删除相关内容!
    copyright@ 2008-2025 毕设资料网所有
    联系QQ:540560583