(argh, press ctrl+enter [send])
Hi All,
I've converted the index listing "page" of a thread feedback system to
try and compare PHP and Carrot. It all work more or less successfully,
but it is a full 5 times slower than PHP. The code hasn't been optimized
as such, mainly using pass by reference where ever possible. Otherwise
it's a direct line for line conversion.
eg (elapsed time in milliseconds)
PHP:
<font face="Arial"><a name="1135"
href="showPostings.php?first=1135&last=1135&discussionname=CSE3400&article_numbers=100&article_sort_type=desc&article_count_type=articles&article_start=0&type=threaded">Re:
Copy constructor, Assignment operator, Destructor</a> -
(Karen)(2002-04-24 11:24:43.192384+10)</font></td></tr>
Elapsed time: 0
makeThreadedIndex(8): elapsed time: 0
makeThreadedIndex(7): elapsed time: 0
makeThreadedIndex(6): elapsed time: 0
makeThreadedIndex(5): elapsed time: 0
makeThreadedIndex(4): elapsed time: 0
makeThreadedIndex(3): elapsed time: 0
makeThreadedIndex(2): elapsed time: 0
makeThreadedIndex(1): elapsed time: 0
Carrot:
<font face="Arial"><a name="1135"
href="showPostings.php?first=1135&last=1135&discussionname=CSE3400&article_numbers=100&article_sort_type=desc&article_count_type=articles&article_start=0&type=threaded">Re:
Copy constructor, Assignment operator, Destructor</a> -
(Karen)(2002-04-24 11:24:43.192384+10)</font></td><td
bgcolor="#ffffff"><table><tr><td><font
face="Arial"></font></td></tr></table></td></tr>
makeIndexEntry elapsed: 8
makeThreadedIndex(8): elapsed time: 4
makeThreadedIndex(7): elapsed time: 27
makeThreadedIndex(6): elapsed time: 49
makeThreadedIndex(5): elapsed time: 72
makeThreadedIndex(4): elapsed time: 96
makeThreadedIndex(3): elapsed time: 119
makeThreadedIndex(2): elapsed time: 142
makeThreadedIndex(1): elapsed time: 202
makeThreadedIndex is a recursive function that crawls the thread tree.
The database is a parent <-> child type setup
[number = 2, p_number = NULL]
--> [number = 5, p_number = 2]
----> [number = 8, p_number = 5]
etc
I have used pass by reference where ever possible for TStrings (TString
&output).
Is doing doing stacks of:
TString output = "blah blah";
output += Form("some long string with lots of %s", "data");
inheretly slow? Is there a better way to do it? Or could it be the
recursion? (Or my code / me ;-) )
Thanks people for all your help.
Ashley Cambrell
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:52 MET