on 2/12/06 2:07 PM, Theodore H. Smith at [EMAIL PROTECTED] wrote: >> From: Charles Yeomans <[EMAIL PROTECTED]> >> Date: Sun, 12 Feb 2006 12:13:27 -0500 >> >> On Feb 12, 2006, at 2:19 AM, Ronald Vogelaar wrote: >> >>> >>> ----- Original Message ----- From: "Theodore H. Smith" >>> <[EMAIL PROTECTED]> >>> >>>> Besides, while the raw speed of appending a string maybe the >>>> simplest >>>> thing to understand and compare, my FastString class has more >>>> advantages than simply being used as a buffer. It has a long history >>>> of use, and from that history it has gained many tweaks and features >>>> making it very handy and simple to use. >>> >>> I concur. A couple of months ago, I wrote a FastString replacement in >>> pure RB (I called it SpeedString), that, in the end, was just as fast >>> as Theo's FastString. >>> Still, I ended up continuing to use FastString for exactly the >>> reasons >>> Theo mentions. >>> >>> I too am suspicious of the statement about Join, but perhaps I'm >>> overlooking something. Charles, could you share a simple code >>> example? >> >> Sure. At <http://www.declaresub.com/ElfDataJoinProject.zip> is a >> project file that requires Rb2006 (and Theo's plugin), and the >> compiled >> MacOS application. On my machine, an aging 12" 867 mhz Powerbook, >> Join concatenates the elements of a 100000 element string array in 5-6 >> ticks; performing the same operation using a FastString object takes >> 9-10 ticks. > > Unfortunately, I don't have RB 2006 to verify this. > > I've uploaded the source code to http://www.elfdata.com/plugin/ > showcase/showcase2006.rb.zip > > If anyone else wants to confirm Charles's result, using the showcase > is quite simple. You do need my plugin, just the normal one from my > website. > > You should see a listbox, containing many lines, the second of which > is "String Append". Expanding that line will show you some options. > Just check "RB Join", and "ED". That'll compare RB's join, against my > FastString class. > > Make sure you've tested the compiled app, and all other apps > (including RB) are closed and Classic is turned off. > > Just press "Run" button then, and see what happens. A graph should > pop up. Bigger bars are better. > > If you want, you can fiddle with the settings. The default settings > should be an OK test, though, even if maybe not varied enough to give > a bigger picture.
Unfortunately building your showcase project causes RB to fail with an assertion: Runtime Error 4: Failed Assertion Location: FunctionCalls.cpp:1035 Failure Condition: ParamAndArgAreCompatible ( paramType, argList[argCtr++, &conversionSteps ) Your plugin is the only one installed. I did run Charles' program and I get the exact same results which is strange since I'm running on 1.67 GHz Powerbook. Chris _______________________________________________ Unsubscribe or switch delivery mode: <http://www.realsoftware.com/support/listmanager/> Search the archives of this list here: <http://support.realsoftware.com/listarchives/lists.html>
