`
isiqi
  • 浏览: 16454002 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

关于"&"运算符效率低下的问题,好的解决办法

 
阅读更多
我们知道用“&”号比用“+”号快。因为“+”要对字符窜变量做类型判断并转换。

当时也没想出什么好办法。只是将两次“&”运算拆开,速度提了一倍。还是解决不了问题。
结果就是:fori1to5000,i以字符形式相加。用&运算,要300-500ms

现在试试下面这个。建了个CStrCat的类。

程序代码:
ClassCStrCat'这是类开始。
Privatei,sa()
PublicPropertyGetValue
RedimPreservesa(i)
Value=Join(sa,"")
EndProperty
PrivateSubClass_Initialize()
i=clng(0)
Redimsa(500)
EndSub
PrivateSubClass_Terminate()
Erasesa
EndSub
PublicfunctionAdd(ps)
Iflen(ps)=0ThenExitFunction
If(i>=ubound(sa))Thenupsize
sa(i)=ps
i=i+1
Endfunction
PrivateSubUpSize()
Dimu
u=ubound(sa)
RedimPreservesa(clng(u+u*0.1))
EndSub
EndClass


你可以用这个代码测试一下性能分别:

程序代码:
<%
PageExeTime1=Timer*1000'计时开始
Setsc=newCStrCat
Fori=0To5000
sc.addi&"aaaaaa"
next
response.writesc.value

'计时结束
Response.Write",Processedtime:"&fix(abs(CDBL(Timer)*1000-PageExeTime1))&"ms</font></p>"

PageExeTime2=Timer*1000
Fori=0To5000
sc2=sc2&i&"aaaaaa"
Next
response.writesc2
'计时结束
Response.Write",Processedtime:"&fix(abs(CDBL(Timer)*1000-PageExeTime2))&"ms</font></p>"%>

分享到:
评论

相关推荐

    C语言常见问题集锦以及解决方法

    ### C语言常见问题集锦及解决方法:表达式与运算符深入解析 #### 一、章节概述 在《C语言常见问题集锦以及解决方法》的第三章中,作者主要探讨了C语言中的表达式及其相关的问题。本章节通过几个具体的例子深入分析...

    运算符重载实验报告共10页.pdf.zip

    实验报告可能涵盖了设计思路、实现过程、可能出现的问题及解决办法、实验结果分析等内容。 在“运算符重载实验报告共10页.pdf.zip”这个压缩包中,我们可以期待找到关于如何在实际项目中应用运算符重载的详细步骤、...

    Excel中常见问题解决方法.docx

    解决办法是检查公式中的除数,确保它们不是0,或者在涉及的单元格中输入非零值。 5. **“#VALUE!”错误信息** 出现这个错误可能是因为参数、运算符错误,自动更正失败,或在数字或逻辑值所要求的位置输入了文本。...

    Matlab编程常见错误与解决办法

    ### Matlab编程常见错误与解决办法 #### 一、下标索引必须是正整数类型...这些常见的错误及其解决办法有助于提高MATLAB编程的效率和准确性。在实际编程过程中,遇到这些问题时可以根据上述指导进行相应的调试和修改。

    Python程序员的30个常见错误.doc

    - **问题描述**:不考虑性能优化会导致程序运行效率低下。 - **解决办法**:了解基本的性能优化技巧,如使用更高效的算法和数据结构。 **15. 缺乏单元测试** - **问题描述**:缺乏单元测试导致难以发现和修复代码...

    2021-5Excel中出现VALUE!DIVO!NUM!REF!NULL!NA!的原因与解决办法.docx

    下面我们将详细解释这些错误的原因并提供相应的解决办法。 1. #####! 当单元格中的数据超出了单元格的宽度,或者日期时间公式产生了负值,Excel就会显示#####!。解决方法是调整列宽以适应数据,或者将单元格格式改...

    Excel避免公式错误值的产生.docx

    解决办法:确认公式中使用正确的运算符和参数,确保引用的单元格含有数值而非文本。 4. 错误值:#REF! 含义:引用的单元格已被删除或范围已更改。 解决办法:恢复被引用的单元格,或重新设定引用范围。 5. 错误...

    WPS表格错误分析与解决方案.docx

    - **解决办法**:检查并更正区域运算符,确保使用正确的区域运算符(逗号)来连接不同的区域。 #### 四、#NUM! 错误 - **原因分析**:在需要数字参数的函数中使用了无法接受的参数,如在开平方函数中引用了负值的...

    C++数据抽象和问题求解(第6版).[美]Frank M. Carrano(带详细书签).pdf

    ◆ 说明了类和ADT在问题解决过程中的作用 ◆ 诠释了ADT的主要应用,如查找航班图、事件驱动的模拟和八皇后问题 ◆ 大部分章节中的例子都使用了标准模板库(STL) ◆ 介绍了递归 ◆ 附录中提供了基本的C++语法,以...

    SQL常见错误集

    这个"SQL常见错误集"压缩包就是为了解决这些问题而准备的,它包含了多种常见的SQL错误及其对应的解决办法。以下是根据压缩包中的文件名推测出的一些SQL错误类型和可能的解决方案: 1. **SQL常见错误.txt**: 这个...

    c语言错误的中英对照 vc6.0环境下

    - **解决办法**:使用字符串连接运算符`+`或将字符串拆分为多个声明。 6. **#include命令中需要文件名(error C2006)** - **描述**:预处理器指令`#include`后面需要一个有效的文件名。 - **解决办法**:确保`#...

    java解惑 中文版

    - 使用 `printf` 函数可以输出格式化后的结果,但这只是表面的解决办法,并没有从根本上解决问题。 ```java System.out.printf("%.2f%n", 2.00 - 1.10); ``` - 更好的做法是使用整数类型(如 `int` 或 `long`)来...

    c#编译错误信息对照表

    根据提供的文件信息,本文将对C#初学者可能遇到的一些常见编译错误信息进行详细的解释与分析,并提供相应的解决办法。值得注意的是,虽然文件中提到的是TurboC(一种C语言开发工具)的错误信息,但我们将尝试将其...

    常见的vc编译错误

    **解决办法:** 确保在源文件的顶部包含预编译头文件,例如: ```cpp #include "stdafx.h" ``` #### 2. `fatal error C1083: Cannot open include file: 'R.h': No such file or directory` **错误原因:** 当...

    零基础快速入门c#极简基础知识4

    对于前置和后置运算符的混淆,一个解决办法是使用括号明确指定运算的顺序,例如 `(++c)` 和 `(c++)`。这样做可以确保运算的顺序不会引发意外,并且使代码更易于理解。 编写简洁的代码是软件开发的最佳实践之一,...

    笨办法学python

    而“说明.txt”文件可能包含了一些关于如何使用这本书、如何运行书中的代码示例或者解答常见问题的说明。对于初学者来说,遵循这些说明能确保学习过程的顺利进行。 学习Python不仅是为了掌握一门编程语言,更是为了...

    MATLAB_编程问题.doc

    MATLAB 是一种强大的数学软件,广泛应用于数值计算、符号计算、数据可视化、图像处理和建模等...对于遇到问题的朋友,可以通过多种方式寻求帮助,如联系作者、留言或发送邮件,共同探讨解决办法,共同提升MATLAB技能。

Global site tag (gtag.js) - Google Analytics