Tcl Source Code

View Ticket
Login
Ticket UUID: 926164
Title: Unacceptable slowdown in fix for 729692
Type: Bug Version: obsolete: 8.5a2
Submitter: msofer Created on: 2004-03-30 18:09:24
Subsystem: 47. Bytecode Compiler Assigned To: msofer
Priority: 5 Medium Severity:
Status: Closed Last Modified: 2007-09-13 08:10:05
Resolution: Fixed Closed By: msofer
    Closed on: 2007-09-13 01:10:05
Description:
the fix for bug 729692 introduced the new
INST_START_CMD, causing an unacceptable core slowdown. 
Tclbench results attached; summary of slowdowns:
  * 3% in completing the whole suite
  * 5-10% bytecode intensive (loops, base64, klist,
list iterate, ...)
  * 15-20% worst cases (sha1, heapsort).

See some comments on improving performance in the
original bug ticket.
User Comments: hobbs added on 2005-10-13 07:21:58:
Logged In: YES 
user_id=72656

Passing to dgp, since he's having so much fun optimizing the
head lately.  :)

msofer added on 2005-03-23 01:15:51:

File Added - 126751: start

msofer added on 2005-03-23 01:15:49:
Logged In: YES 
user_id=148712

Jeff: can you please test if this patch is good, bad or
indifferent wrt to this issue? I have a very bad platform
for reliable timings.

msofer added on 2004-05-13 00:44:02:
Logged In: YES 
user_id=148712

More careful emission of INST_START_CMD and a runtime
peephole optimisation commited. Effect not measured yet.

msofer added on 2004-03-31 02:32:25:
Logged In: YES 
user_id=148712

The too frequent calls to Tcl_AsyncReady() are responsible
for 60-70% of the slowdown.
Reverting to the previous model (check now every 64th
instruction, instead of every INST_START_CMD).
Note that this also fixes [Bug 926118].

msofer added on 2004-03-31 01:09:25:

File Added - 81971: tclbench

Attachments: