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

Reply via email to