ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/cvsroot/microscheme/Changes
Revision: 1.3
Committed: Sat Nov 28 06:16:19 2015 UTC (8 years, 7 months ago) by root
Branch: MAIN
Changes since 1.2: +1 -2 lines
Log Message:
*** empty log message ***

File Contents

# Content
1
2 - major size optimisations
3 - struct layout for both typical CISC and RISC cpus.
4 - optional error messages.
5 - optional error checking.
6 - cell size reduced by not storing both float and int forms of a number,
7 - major dependency optimisations (no stdio etc.)
8 - faster and vastly simpler vector memory management (execution speed
9 is roughly twice faster than tinyscheme when optimised for size, and 2.5
10 times faster when optimised for speed).
11 - no need for consecutive cells
12 - more compact and faster vectors.
13 - resizable vectors (TODO)
14 - simpler cell memory management, only one block
15 - much faster call stack implementation, fully supporting continuations,
16 while greatly reducing cell thrashing, thus fewer gc's and overall
17 much faster execution.
18 - allow full 32 bit size range for strings and vectors.
19 - made ports optional.
20 - made error checking and error strings optional.
21 - ripped out features: dynamic loading, nonstandard C targets.
22 - fix numerous ISO C violations (mostly _ namespace).
23 - fix numerous uninitialised value violations.
24 - fix some bufer overflows (mostly relying on _sprintf terminating with 0).
25 - fix numerous sign/truncation problems.
26 - remove limit of 65535 args maximum.
27 - move ~5kb opcode table into read-only segemnt, saves 5kb rss.
28 - reduce ~5kb opcode table to 1.2kb.
29 - subnormals are no longer flushed to zero in some comparisons.
30
31 TODO: atom names starting with dot cannot currently be parsed due to a tinyscheme bug.
32