From: <Miguel S. <mi...@ut...> - 2000-07-25 21:36:45
|
I am testing a few optimisations of TclExecuteByteCode, with initially promising results. It consists mainly of (a) avoiding calls outside of TclExecuteByteCode and reducing the amount of recursive calls (b) using (if available) the gcc "Labels as Values" extension, making a single indirect jump to the new opcode instead of a jump back to "for (;;)" and then switch (an indirect jump as compiled by gcc) (c) a few other smaller things Point (a) implies inlining some code which is in other files (tclVar.c, tclBasic.c, maybe tclCompile.c). I have been "copying and pasting" in my preliminary tests, but realise that this is not very good - difficult maintenance, even if well documented. For instance, any change in the Var type may have severe implications in the executor, the decoupling is lost ... A solution might be to put some of that code in macros in a common header file. I kind of liked the idea of touching a single file (actually, a single function!); this option would imply modifying also the other files ... and maybe making life difficult for their maintainers/updaters. I'd rather not ... I appreciate any suggestions you might have on this point. Thanks Miguel Sofer -- The TclCore mailing list is sponsored by Ajuba Solutions To unsubscribe: email tcl...@aj... with the word UNSUBSCRIBE as the subject. |