Good work with the StringObject / HyperString. I couldn't keep my hands out
of this one, though, so I tried to improve the HyperString a bit. As I am a
hardcore java programmer, the final output of my work looks like:
function StringBuffer(){}
StringBuffer.prototype = new Array(0);
StringBuffer.prototype.append = function(str){
this[this.length] = str;
}
StringBuffer.prototype.toString=function(){
return this.join('');
}
I ran the same tests that can be found form
http://www24.brinkster.com/dyntools/samples/hyperstring.html
with several different browsers and the results are:
IE5.5 StringBuffer 2.9 times faster.
NS4.72 Processing takes about the same.
Opera 5 StringBuffer 1.2 times faster.
Other advantage is that the methods of Array are directly usable on
StringBuffer. So please, use it if you feel like it.
--
th
> Hello everyone,
>
> Some time ago I had created a string handling library
> for my vb projects, which would speed up string
> concatenations. When I started programming in
> javascript I've realized that there was a need for
> such a library since javascript had the same problem
> as VB.
>
> StringObject is a very simple javascript object that
> can in cases where you might need to do string
> concatenations:
>
> StringObject=function(){}
> StringObject.prototype.db=[];
> StringObject.prototype.add=function(src){
> this.db[this.db.length]=src;
> }
> StringObject.prototype.toString=function(delim){
> return this.db.join(delim||'');
> }
> StringObject.prototype.flush=function(){
> this.db=[];
> }
> StringObject.prototype.indexOf=function(q){
> return this.db.join('').indexOf(q)
> }
>
>
> Here's an example:
>
>
> // #1: Conventional method
> var src='',din=new Date()
> for (var i=0;i<2000;i++){
> d=" svcsvadvnvdv gdg rgr gr gr grgrg <br>"
> src+=d
> }
> //src=src.indexOf("1999") // simple lookup
> var dout=new Date()
> alert(dout-din)
>
>
>
> // #2: With StringObject
> var src='',din=new Date()
> so=new StringObject()
>
> for (var i=0;i<2000;i++){
> d=" svcsvadvnvdv gdg rgr gr gr grgrg <br>"
> so.add(d)
> }
> src=so.toString('')
> //src=so.indexOf("1999") // simple lookup
> var dout=new Date()
> alert(dout-din)
>
>
> The above example (#2) when tested on a pentium 200MHz
> was able to process over 70,000 characters in under
> 0.03 seconds! Try doing that using the conventional
> methods.
>
> I would like to proposed that such an object be added
> to DynAPI core so that users don't have to implement
> separate objects for their widgets or extensions. They
> could just reference it from the core.
>
>
>
> --
> Raymond
>
>
> __________________________________________________
> Do You Yahoo!?
> Find a job, post your resume.
> http://careers.yahoo.com
>
> _______________________________________________
> Dynapi-Help mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/dynapi-help
_______________________________________________
Dynapi-Help mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dynapi-help