Matthew Flatt
0eeb18f4d8
Improve the bytecode optimizer's ability to simplify `letrec's
...
to smaller `letrec' groups or even `let*'.
The goal of the change is to avoid performance surprises
when using internal definitions, especially when mixing
experessions with definitions.
It's a somewhat scary change. Besides the new transformation,
the optimizer pass's coordinate system for `letrec' (and sometimes
`let*') bindings changed.
No standard benchmarks were harmed during the making of this
optimization. (None were improved, either.)
2010-07-08 13:43:40 -06:00
Vincent St-Amour
12a427f5ea
Changed the size of the maze2 benchmark.
2010-07-07 20:46:06 -04:00
Vincent St-Amour
3334d71491
Fixed the fft benchmark.
2010-07-07 19:42:56 -04:00
Vincent St-Amour
7853d33349
Improved unboxed complex operations.
...
Intermediate results are kept as unboxed floats as long as we stay
within complex arithmetic code.
2010-07-07 19:42:56 -04:00
Vincent St-Amour
7921074eef
Avoid boxing intermediate results when doing multiple complex
...
operations in a row.
However, because of values and let-values, we lose float unboxing.
If we have a single complex operation, this is much slower than my
previous implementation (though still faster than generic
operations). With 2 complex operations, the new implementation becomes
faster.
2010-07-07 19:42:55 -04:00
Vincent St-Amour
de52d2ce9f
Avoided duplicate computation in inexact complex division.
2010-07-07 19:42:55 -04:00
Vincent St-Amour
3fb69bc764
Generic inexact complex arithmetic operations are now replaced with
...
the right combinations of unsafe float operations.
2010-07-07 19:42:54 -04:00
Vincent St-Amour
e52d63ee68
Added an optimization for vector-length of known-length vectors.
2010-07-07 19:42:54 -04:00
Matthew Flatt
54216b5ced
internal-definition contexts allow expressions mixed with definitions
...
while the new `#%stratified-body' form provides access to the old
convention
2010-07-07 13:56:16 -06:00
Matthew Flatt
63ec520885
fix problem with Windows pipe writing
2010-07-06 10:59:16 -06:00
Matthew Flatt
96a6f56572
fix problem sharing Windows file handles to subprocess
2010-07-06 06:49:59 -06:00
Matthew Flatt
04fa6c6acd
add `subprocess-group-enabled' for process-group support
...
and fix problems with places and subprocesses
and fix some mzrt thread setup and teardown issues
2010-07-05 17:51:26 -06:00
Matthew Flatt
5c2ae50e45
add current-subprocess-custodian-mode
2010-07-04 12:42:25 -06:00
Matthew Flatt
fb730cb1c2
custodian box as synchronizable event
2010-07-04 10:42:38 -06:00
Robby Findler
f83784452e
made ->d's optional argument spec itself optional
2010-07-02 20:52:48 -05:00
Vincent St-Amour
389a20795a
Added support for make-flrectangular, flreal-part, flimag-part and
...
their unsafe counterparts to Typed Scheme and its optimizer.
2010-07-02 20:58:30 -04:00
Vincent St-Amour
556734a223
Added coercion of fixnums to floats to the optimizer.
2010-07-02 20:58:29 -04:00
Vincent St-Amour
e8a0a26c2f
Changed the optimizer's test harness to ignore type tables.
2010-07-02 20:58:29 -04:00
Vincent St-Amour
cb0e058cff
Removed spectralnorm-unsafe from the shootout harness.
2010-07-02 20:58:29 -04:00
Vincent St-Amour
a6d11a1df0
Added struct optimizations.
2010-07-02 20:58:28 -04:00
Vincent St-Amour
5d61c7fab8
Ported the maze2 benchmark to typed Scheme.
2010-07-02 20:58:28 -04:00
Sam Tobin-Hochstadt
e989631d56
Add flags for running the optimizer tests and compiling the benchmarks
2010-07-02 19:00:57 -04:00
Matthew Flatt
439bc0a293
add flreal-part',
flimag-part', `make-flrectangular', and unsafe variants
2010-07-02 16:08:15 -06:00
Matthew Flatt
eef7a8ba9d
JIT inline real-part, imag-part, make-rectangular
2010-07-02 16:08:14 -06:00
Matthew Flatt
491ab3c12b
expose internal display/write/print-limiting functionality via `printf'
...
addition of ~.
2010-07-02 16:08:14 -06:00
Sam Tobin-Hochstadt
0e400291e7
Fix inference for heterogenous vectors.
2010-07-02 17:25:07 -04:00
Sam Tobin-Hochstadt
570df7d665
Generalize fixed-length lists to listofs.
...
Closes PR10057.
2010-07-02 17:25:07 -04:00
Vincent St-Amour
458b6b65c9
Added optimization when iterating over lists.
2010-07-02 15:48:06 -04:00
Vincent St-Amour
1886572906
Added support for the 2 versions of optimizer tests to be written in
...
different languages.
2010-07-02 15:48:05 -04:00
Vincent St-Amour
f6077b02f1
Fixed some tests that used to test for an invalid optimization that is
...
now valid.
2010-07-02 15:48:04 -04:00
Vincent St-Amour
f79f617ee8
Calls to vector now return heterogenous vectors, to preserve length
...
information.
2010-07-02 15:48:03 -04:00
Vincent St-Amour
f469e0d8bf
Changed some benchmarks to use known-length vectors.
2010-07-02 15:48:02 -04:00
Vincent St-Amour
8c25e46141
Literal vectors are now given HeterogenousVector types to preserve
...
length information.
2010-07-02 15:48:00 -04:00
Vincent St-Amour
25cb5ef568
Fixed some tests to reflect changes to the optimizer.
2010-07-02 15:47:59 -04:00
Vincent St-Amour
351de3f767
Fixed the behavior of the optimizer on sqrt.
2010-07-02 15:47:58 -04:00
Vincent St-Amour
816cc75654
Fixed tests for invalid optimizations to actually test something.
2010-07-02 15:47:57 -04:00
Vincent St-Amour
ae242e2f88
Propagated Sam's changes to spectralnorm to the generic and unsafe versions.
2010-07-02 15:47:56 -04:00
Vincent St-Amour
cdfbbc5476
Fixed the type of real->decimal-string.
2010-07-02 15:47:56 -04:00
Vincent St-Amour
636fca1a83
Generalization is now done on vector types.
2010-07-02 15:16:11 -04:00
Vincent St-Amour
06279de2ca
Nonnegative-Floats are now generalized to Floats.
2010-07-02 15:16:10 -04:00
Ryan Culpepper
a543c2137e
unstable: removed byte-counting-port.rkt (use open-output-nowhere instead)
...
updated test to verify that open-output-nowhere has same behavior
2010-07-01 17:05:06 -06:00
Sam Tobin-Hochstadt
71bb63c128
Better typing for `make-sequence'.
2010-07-01 17:12:59 -04:00
Matthew Flatt
3de7dbd2fd
add chaperone-evt
2010-07-01 14:59:01 -06:00
Sam Tobin-Hochstadt
3d347f117b
Add --just flag for running tests.
2010-07-01 13:47:02 -04:00
Sam Tobin-Hochstadt
4f3e3625b3
Fix error spec for this test.
2010-07-01 13:45:52 -04:00
Sam Tobin-Hochstadt
c0a9704ebc
Rewrote spectral-norm benchmark based on Lua version.
2010-07-01 11:35:21 -04:00
Sam Tobin-Hochstadt
75bd26d326
Better error message for multiple ->
...
Closes PR 10493.
2010-07-01 11:35:21 -04:00
Robby Findler
8a6058fa0f
added some printouts to say what this file is doing.
2010-07-01 06:03:08 -05:00
Robby Findler
896bbfaabb
Adding support to do memory profiling of drr startup that drdr can track.
2010-07-01 06:03:07 -05:00
Robby Findler
b4d176466a
Added a logger to drdr for tracking drracket's memory use on startup
2010-07-01 06:03:07 -05:00