ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/microscheme/Changes
Revision: 1.4
Committed: Sat Nov 28 10:54:41 2015 UTC (8 years, 6 months ago) by root
Branch: MAIN
Changes since 1.3: +2 -1 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 (not exposed yet)
14 - faster environment implementation, not hashed by name but by symbol address.
15 - simpler cell memory management, only one block
16 - much faster call stack implementation, fully supporting continuations,
17 while greatly reducing cell thrashing, thus fewer gc's and overall
18 much faster execution.
19 - allow full 32 bit size range for strings and vectors.
20 - made ports optional.
21 - made error checking and error strings optional.
22 - ripped out features: dynamic loading, nonstandard C targets.
23 - fix numerous ISO C violations (mostly _ namespace).
24 - fix numerous uninitialised value violations.
25 - fix some bufer overflows (mostly relying on _sprintf terminating with 0).
26 - fix numerous sign/truncation problems.
27 - remove limit of 65535 args maximum.
28 - move ~5kb opcode table into read-only segemnt, saves 5kb rss.
29 - reduce ~5kb opcode table to 1.2kb.
30 - subnormals are no longer flushed to zero in some comparisons.
31
32 TODO: atom names starting with dot cannot currently be parsed due to a tinyscheme bug.
33