Hi - I published the ns_share results, but it was a looong time ago,
like a few years ago when we upgraded from 2.X to 3.X. I found this
quote in my mailbox around November 9, 2002 from the mailing list:
"The test I ran to compare 8x with 7.6x was a 10-line loop, around 400K
iterations, setting 2 ns_share arrays. Because of TCL 8x compilation,
I expected it to go faster, but instead, it was around 3x slower. That
doesn't mean our site will be 3x slower of course, but it didn't encourage
me to jump on the 8x bandwagon - that's all."
Here is a copy of the code that is similar, though I don't think it is
the exact code used for the test because it only sets 1 ns_share, not 2,
and the loop is only 4 lines, not 10. But the general idea is the same:
ns_share rlidarray
set fd [open "textfile" r+] ;# a file of 32-char, fixed-length strings
set recno 0
while {[gets $fd s] == 32} {
set idname [string trimleft [string range $s 0 24] " "]
set rlidarray($idname,RECNO) $recno
incr recno
}
if {[string compare $s "**EOF**"] != 0} {
error "rlinitid: Missing EOF string in idfile"
}
The special **EOF** string was there to detect file corruption under
ext2 when the file extended. The data file looked something like this:
rlad.internal.11-01-19990000607
rlourad.11-02-19990031183
rlad.internal.11-02-19990000752
rlourad.11-03-19990031507
rlad.internal.11-03-19990000793
rlourad.11-04-19990034359
rlad.internal.11-04-19990000620
rlourad.11-05-19990030259
rlad.internal.11-05-19990000660
rlourad.11-06-19990028716
**EOF**
There was a race in the ns_share array code for [info exists] in TCL 7.X
that used to cause our servers to crash a lot, but since fixing that,
3.4 has been rock solid.
I briefly thought about using the existing TCL interface to bind C
variables to implement ns_share, but as someone else said, what we
have works okay and my time to tinker with AS is limited to projects
that are critical for our business. It was briefly discussed on the
mailing list at about the same time by people who know TCL's internals
much better than me.
My other concern with 8.X is all the character set stuff. I know some
people wanted that, which is fine, but we just don't have the time to
debug weird character set issues that might occur, as they have for
some people on the list.
Jim
>
> On 2005.02.06, Jim Wilcoxson <[EMAIL PROTECTED]> wrote:
> > we're using ns_shares heavily and so are stuck with TCL 7.x, which is
> > no longer supported. (I know there are hacks in TCL 8 for ns_shares,
> > but when we benchmarked them, they were much slower. So no compelling
> > reason to upgrade, for us, at least not yet.)
>
> Jim,
>
> Can you share the code and a description of the process you used to
> benchmark ns_share performance? Can you share the results of your
> benchmarking, too?
>
> (If you've already done this before, I apologize: could you point me to
> where you've done so?)
--
AOLserver - http://www.aolserver.com/
To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]>
with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject:
field of your email blank.