Revision: 3043 http://vexi.svn.sourceforge.net/vexi/?rev=3043&view=rev Author: clrg Date: 2008-08-06 22:58:54 +0000 (Wed, 06 Aug 2008)
Log Message: ----------- More efficient text reads - use array joins instead of compiling strings - of course, strings are immutable thus memory intensive Modified Paths: -------------- trunk/widgets/org.vexi.widgets/src/org/vexi/lib/text/block.t trunk/widgets/org.vexi.widgets/src/org/vexi/lib/text/edit.t Modified: trunk/widgets/org.vexi.widgets/src/org/vexi/lib/text/block.t =================================================================== --- trunk/widgets/org.vexi.widgets/src/org/vexi/lib/text/block.t 2008-08-06 22:46:58 UTC (rev 3042) +++ trunk/widgets/org.vexi.widgets/src/org/vexi/lib/text/block.t 2008-08-06 22:58:54 UTC (rev 3043) @@ -244,10 +244,11 @@ /** return the textual content of a block */ static.textRead = function() { - var str = ""; + var ret = []; + var k = 0; for (var i=0; trapee.numchildren>i; i++) - str = str + trapee[i].text; - return str; + ret[k++] = trapee[i].text; + return ret.join(""); } /** Modified: trunk/widgets/org.vexi.widgets/src/org/vexi/lib/text/edit.t =================================================================== --- trunk/widgets/org.vexi.widgets/src/org/vexi/lib/text/edit.t 2008-08-06 22:46:58 UTC (rev 3042) +++ trunk/widgets/org.vexi.widgets/src/org/vexi/lib/text/edit.t 2008-08-06 22:58:54 UTC (rev 3043) @@ -1517,22 +1517,23 @@ /** read trap to return the textual content of this edit box */ thisbox.text ++= function() { - var ret = ""; + var ret = []; + var k = 0; // special case for first line for (var j=0; thisbox[0][j] != null; j++) - ret += thisbox[0][j].text; + ret[++k] = thisbox[0][j].text; // build up with newlines for multiline if (multiline) { for (var i=1; thisbox[i] != null; i++) { - ret += "\n"; + ret[++k] = "\n"; for (var j=0; thisbox[i][j] != null; j++) - ret += thisbox[i][j].text; + ret[++k] = thisbox[i][j].text; } } // return result - return ret; + return ret.join(""); } /** set the textual content of this edit box */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn