Code edit
New location: https://core.tcl.tk/tclquadcodeOld location: https://chiselapp.com/user/kbk/repository/tclquadcodePerformance edit
This package can sometimes make code that is stunningly faster than standard Tcl. Seriously fast. It depends on what the code is doing though.Performance Category | General Speedup Expected |
---|---|
Numeric code: integers | 20 to 25 times |
Numeric code: floating point | around 10 times |
String code | often about 50%; sometimes less |
Structure code: lists and dicts | around 2 times |
Error handling | around 2 times |
Global variables | probably no big change |
I/O code | no significant change (not a design objective) |
Types edit
One of the things we're doing is working out a type system for Tcl.The ovals contain the discriminating operations -- they correspond to particular bytecodes even though they're not described as such -- and the rectangles contain the concrete types.The key concrete types in practice are:- STRING
- The type of strings. Supertype of virtually all other types, including all the other types listed here. (Supertype => "everything is a string".)
- NUMERIC
- The type of numbers.
- DOUBLE
- The type of floating-point numbers.
- BIGINT
- The type of integers outside the 64-bit range.
- INT64
- The type of integers in the 64-bit range but outside the 32-bit range.
- INT32
- The type of integers in the 32-bit range.
- BOOLEAN
- The type of booleans (including true and off and so on).
- EMPTY
- The empty string.
ak - 2016-08-25 19:55:37Is it possible to add a legend to the image ?DKF: Not to the image (which is just converted from SVG) but I've added some notes above