From: Donald G Porter on 27 Apr 2010 08:18 <jeffgodfre...(a)gmail.com> wrote: >> So, 8.6b1 is approx 25x slower than 8.5.8. I know 8.6 is still beta, >> but is the above expected at this stage? Alexandre Ferrieux wrote: > Interesting. Cursory investigation shows this is not a shimmering > issue, since this usage pattern seems to be keeping byte arrays > without string rep (which are the most efficiently concatenated > values), as told by ::tcl::unsupported::representation. If a bug is filed on this, I'll take a look in a few days. Meanwhile since Alex appears to be chasing it as well, I offer the hint of looking at lines 41-47 of tclStringObj.c: /* * Set COMPAT to 1 to restore the shimmering patterns to those of Tcl 8.5. * This is an escape hatch in case the changes have some unexpected unwelcome * impact on performance. If things go well, this mechanism can go away when * post-8.6 development begins. */ #define COMPAT 0 Might not be the problem, but should be easy to try. DGP
From: Jeff Godfrey on 27 Apr 2010 09:45 Alexandre Ferrieux wrote: > Maybe something with the quadratic process of endlessly reallocating > of the growing value... though I fail to see why it's new to 8.6. > > In any case, please file a bug report. Alex (et al.), Thanks for the input. I'll file a bug report this morning. The issue does seem to be the append itself as removing it from the mix places the 8.5 / 8.6 timings in at least the same ballpark. That said, 8.6 is still about 23% slower in that case, but that's better than 25x slower... ;^) I'll report back with a bug number once it's filed. Thanks, Jeff
From: Jeff Godfrey on 27 Apr 2010 09:59 Jeff Godfrey wrote: > I'll report back with a bug number once it's filed. OK, bug report filed as SF (2992970). It seems I can only attach a single file to a ticket? I attached the sample Tcl script, but then didn't see a way to also attach the sample binary file it reads. It may have been too large anyway (13.4 MB). I can make it available by other means if necessary - just ask. Thanks, Jeff
From: Jeff Godfrey on 27 Apr 2010 10:38 Alexandre Ferrieux wrote: > Also, you might add the timings with alternative [append]'s: > > set buffer $buffer[set buffer {}][read ...] > Alex, Trying something similar to the above... set rec [read $fd $nextlen] set buffer $buffer[set buffer {}]$rec 8.5 goes from 0.5 secs to 34.5 secs 8.6b1.1 goes from 14 secs to 34.5 secs So, in that case, they are approx equal, but much worse. Jeff
From: Alexandre Ferrieux on 27 Apr 2010 12:05 On Apr 27, 3:59 pm, Jeff Godfrey <jeff_godf...(a)pobox.com> wrote: > Jeff Godfrey wrote: > > I'll report back with a bug number once it's filed. > > OK, bug report filed as SF (2992970). It seems I can only attach a > single file to a ticket? I attached the sample Tcl script, but then > didn't see a way to also attach the sample binary file it reads. It may > have been too large anyway (13.4 MB). I can make it available by other > means if necessary - just ask. Thank you very much Jeff. Sequel in the ticket's comments :-) -Alex
First
|
Prev
|
Next
|
Last
Pages: 1 2 3 Prev: Problems with Requiring Packages Next: tcl client certificate |