Tcl Source Code

View Ticket
Login
Ticket UUID: 1845092
Title: channel Tcl_Obj type
Type: Patch Version: None
Submitter: hobbs Created on: 2007-12-05 20:11:23
Subsystem: 25. Channel System Assigned To: msofer
Priority: 8 Severity:
Status: Closed Last Modified: 2007-12-06 05:38:36
Resolution: Fixed Closed By: hobbs
    Closed on: 2007-12-05 22:38:36
Description:
After noticing that as much as 15% of the runtime of a large gets-based cat is taken up in hash calls, I decided to implement a channel Tcl_Obj that obviates these calls.  It takes care to watch for tainted channels (and existing cut/splice tests exercise this).

The only thing I'd like to verify is that the way we mix the Tcl_Preserve/Release and Tcl_Obj doesn't cause any mem leaks.  I'm not seeing any, but another pair of eyes would be good.
User Comments: hobbs added on 2007-12-06 05:38:36:
Logged In: YES 
user_id=72656
Originator: YES

Added to 8.5 after chat review.  Results in 10+% perf increase on procs like gets/puts 'cat' that have lots of channel looksup

hobbs added on 2007-12-06 03:49:29:

File Deleted - 257449: 



File Added - 257450: channelobj.diff

Logged In: YES 
user_id=72656
Originator: YES

got the patch right this time ;)
File Added: channelobj.diff

hobbs added on 2007-12-06 03:47:43:

File Added - 257449: channelobj2.diff

Logged In: YES 
user_id=72656
Originator: YES

File Added: channelobj2.diff

hobbs added on 2007-12-06 03:41:51:

File Deleted - 257443: 



File Added - 257448: channelobj.diff

Logged In: YES 
user_id=72656
Originator: YES

Updated patch the does Preserve in DupIntRep and makes NULL the updateString and setFromAny procs in the tclChannelType structure.
File Added: channelobj.diff

hobbs added on 2007-12-06 03:11:23:

File Added - 257443: channelobj.diff

Attachments: