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:
- channelobj.diff [download] added by hobbs on 2007-12-06 03:49:29. [details]