Vincent St-Amour
e4cd5329fb
Fixed benchmarks to work with Nonnegative-Floats.
2010-06-30 19:27:18 -04:00
Vincent St-Amour
62a15df3eb
Added the Nonnegative-Float type.
2010-06-30 14:53:22 -04:00
Vincent St-Amour
dcfb2d8a94
Added the Inexact-Complex type.
2010-06-30 14:53:21 -04:00
Vincent St-Amour
ef576e27c5
Fixed the type of min and max to only operate on reals.
2010-06-30 14:53:20 -04:00
Vincent St-Amour
dfafc0b295
Added fixnum optimizations.
2010-06-30 14:53:18 -04:00
Jay McCarthy
06844073c7
Switch to using substitutions in returns and remove old parts of the interface
2010-06-30 10:54:13 -06:00
Sam Tobin-Hochstadt
c01b239779
Refactor struct type representation.
...
- fields now represented by fld struct.
- mutability on per-field basis
- accessors are per field
This fixes lots of existing bugs, allows future #:mutable on fields.
2010-06-29 17:33:36 -04:00
Jay McCarthy
e46dbe3db5
Fixing bug in formlet macro
2010-06-29 15:17:13 -06:00
Jay McCarthy
fc91321f21
Close connection sooner
2010-06-29 13:49:01 -06:00
Jay McCarthy
df30cda523
Port registry and changing benchmarks to not conflict on ports
2010-06-29 13:38:36 -06:00
Jay McCarthy
2e5c04f083
Nail down port and dont conflict
2010-06-29 13:23:23 -06:00
Jay McCarthy
0062a4eb23
Fixing tests, adding provide, clarifying names
2010-06-29 13:18:04 -06:00
Jay McCarthy
a6852d8f61
Adding FFI to Datalog
2010-06-29 11:09:07 -06:00
Jay McCarthy
b4cc683f08
Fixing output port
2010-06-28 19:58:18 -06:00
Matthew Flatt
47c7c1a27b
JIT support for inexact->exact', add
unsafe-fl->fx', etc.
2010-06-28 15:57:49 -06:00
Jay McCarthy
da7d4d4042
Adding datalog macro
2010-06-28 13:22:53 -06:00
Jay McCarthy
12797fef41
Using the datalog reader for racklog
2010-06-28 11:24:01 -06:00
Sam Tobin-Hochstadt
23553392df
Rewrite typed common benchmark wrapper.
2010-06-28 12:12:32 -04:00
Sam Tobin-Hochstadt
e7c33c2244
Rewrite shootout benchmark wrapper.
...
- Now only needs one wrapper, conditions on module name
- use with #lang s-exp
- uses typed reader
2010-06-28 11:09:59 -04:00
Matthew Flatt
dc99e1992c
restore support for sub-matches in `regexp-replace*'
2010-06-26 18:23:54 -06:00
Jay McCarthy
c48d1b58b4
Uses a more traditional read/expand/eval pipeline
2010-06-26 15:25:22 -06:00
Jay McCarthy
07142e2305
Use capitalized letters for variables in paren version
2010-06-26 13:17:10 -06:00
Jay McCarthy
0bda9efa96
Removing old sexp library and correct docs for warning
2010-06-25 22:36:13 -06:00
Jay McCarthy
e90de7196d
Moving tests
2010-06-25 22:36:12 -06:00
Eli Barzilay
f5a0e6e0b8
Undo the racket/init symbolic form thing.
...
It needs to be (lib "racket/init") because that's the way that racket
uses the -I flag. I think that I ran into this in the past, so drop in
a comment explaining this.
This reverts commit f58b58383f
.
2010-06-25 16:05:58 -04:00
Vincent St-Amour
28acece484
Fixed Typed Scheme's optimizer's test harness to work with drdr.
2010-06-25 13:25:42 -04:00
Eli Barzilay
f58b58383f
Adjust tests to requiring racket/init in symbolic form.
2010-06-25 11:01:05 -04:00
Vincent St-Amour
17f0d146f1
Adjusted benchmark sizes.
2010-06-25 11:00:25 -04:00
Vincent St-Amour
bc0d0a6e18
Unified the nbody-vec benchmarks so that they only differ by their use
...
of flonum or unsafe operations.
2010-06-25 11:00:25 -04:00
Vincent St-Amour
369ce44416
Made the default nbody benchmark unsafe.
2010-06-25 11:00:24 -04:00
Vincent St-Amour
a14c31a1de
Changed dderiv to be closer to the untyped version.
2010-06-25 11:00:24 -04:00
Vincent St-Amour
b345d5f0f0
Typed Scheme now optimizes (fl)vector-length for all vectors and
...
vector-(ref,set!) for vectors of known length.
2010-06-25 11:00:24 -04:00
Vincent St-Amour
fd987546b3
Wrote a test harness and a couple of tests for Typed Scheme's optimizer.
2010-06-25 11:00:23 -04:00
Vincent St-Amour
8c8dbf0895
Fixes to some benchmarks due to the new fixnum types.
2010-06-25 11:00:23 -04:00
Vincent St-Amour
cea65c195b
Fixed typed wrappers for the typed versions of mandelbrot.
2010-06-25 11:00:22 -04:00
Vincent St-Amour
a4236b0b3b
Propagated Eli's bugfix to the typed version of binarytrees.
2010-06-25 11:00:22 -04:00
Sam Tobin-Hochstadt
4b1c62c978
Add Fixnum type.
2010-06-24 18:05:55 -04:00
Eli Barzilay
b46cb492bb
Reorganize as function calls, to make it easier to customize.
2010-06-24 17:17:10 -04:00
Sam Tobin-Hochstadt
5b1118d514
More options for test runner.
2010-06-24 16:46:31 -04:00
Sam Tobin-Hochstadt
3c8952d63d
Use the correct field numbers in substructs.
...
Maintain table of struct accessors/mutators.
2010-06-24 14:53:38 -04:00
Jay McCarthy
428412036f
Fixing PR 10970
2010-06-23 16:29:23 -06:00
Eli Barzilay
3f36d054f6
Turn contracts on enqueue!' and
dequeue!' into the usual error checks.
...
On a simple benchmark of:
(let ([N 100000]
[M 20]
[q (make-queue)])
(time (for ([i (in-range M)])
(for ([i (in-range (* i N))]) (enqueue! q i))
(unless (for/and ([i (in-range (* i N))]) (list i (dequeue! q)))
(error "poof")))))
I get these timings:
original version: cpu time: 24438 real time: 24439 gc time: 8164
single-links: cpu time: 17848 real time: 17849 gc time: 4859
this version: cpu time: 6519 real time: 6519 gc time: 3032
In addition, cleaned up the documentation a little, and mention the fact
that it is not thread safe.
2010-06-23 16:13:54 -04:00
Eli Barzilay
d986fed725
Uses a simpler single-linked list, about half of the meat code, and much
...
faster due to the removed overhead of dealing with the redundant
pointers.
2010-06-23 16:13:53 -04:00
Matthew Flatt
42c7b2b9d3
fix missed parts of the hash-table hahing bug
2010-06-23 07:09:59 -10:00
Matthew Flatt
bfd769a29c
fix hashing of hash-table values
...
the order of keys+values in the table could affect the
hash code, due to an interation with the depth-limiting
counter
Closes PR 10985
2010-06-23 07:00:29 -10:00
Eli Barzilay
0ffe4c1efb
Revert "Adding XPM parser"
...
Not needed, since an XPM parser was already implemented.
This reverts commit 4d58a10ff4
.
2010-06-23 07:34:40 -04:00
Eli Barzilay
e0c18c3a4b
Remove the temporary file when done with it.
2010-06-23 07:34:39 -04:00
Eli Barzilay
acace4bc18
Fixes two bugs that I somehow missed completely.
...
(Also removed leftover `time'.)
2010-06-23 07:34:17 -04:00
Vincent St-Amour
ef1da61fd0
Added S-Expression diff to unstable.
2010-06-22 18:42:28 -04:00
Vincent St-Amour
d3c5ca7537
Propagated Eli's changes to the binarytrees benchmark to the typed
...
version.
2010-06-22 18:42:27 -04:00
Vincent St-Amour
7d1040283e
Added support for unsafe struct operations to Typed Scheme.
2010-06-22 18:42:25 -04:00
Vincent St-Amour
c9383cffc2
Propagated Eli's changes to reversecomplement and fasta to the typed
...
versions.
2010-06-22 18:42:08 -04:00
Vincent St-Amour
4f501726fb
Fixed a bug in the shootout harness.
2010-06-22 18:29:58 -04:00
Vincent St-Amour
bc794b443c
Propagated Eli's changes to the mandelbrot benchmark to the generic
...
and typed versions.
2010-06-22 18:29:57 -04:00
Vincent St-Amour
5234809baf
The moments benchmark now gets floats as input.
2010-06-22 18:29:56 -04:00
Vincent St-Amour
61545c4e75
Made make-vector's type more convenient.
2010-06-22 18:29:56 -04:00
Vincent St-Amour
dd858bc11f
Got rid the the mandelbrot-unsafe benchmark, to reflect Eli's
...
changes.
2010-06-22 18:29:55 -04:00
Sam Tobin-Hochstadt
6e1954d79b
Add `struct:'
2010-06-22 16:29:35 -04:00
Jay McCarthy
4d58a10ff4
Adding XPM parser
2010-06-22 11:33:06 -06:00
Sam Tobin-Hochstadt
bce2cedf38
Typecheck `map' expression, not just #'map.
2010-06-22 10:12:54 -04:00
Sam Tobin-Hochstadt
95c5f942e6
Initialize `infer' for tests
2010-06-22 10:11:14 -04:00
Sam Tobin-Hochstadt
0c7c722e16
support `map' over multiple ListDots with the same bound
...
- also support ListDots + Listof (map errors when not same length)
2010-06-21 18:30:30 -04:00
Sam Tobin-Hochstadt
44d46e4cd7
Refactor substitution.
...
- new file types/substitute
- use structs for substitutions
2010-06-21 18:30:28 -04:00
Sam Tobin-Hochstadt
dcc8beb5cd
This test case now passes.
2010-06-21 18:30:28 -04:00
Sam Tobin-Hochstadt
e235c837b0
The inference engine doesn't need this annotation anymore.
2010-06-21 18:30:25 -04:00
Sam Tobin-Hochstadt
7b2de53733
Re-enable the printer here.
2010-06-21 18:30:24 -04:00
Sam Tobin-Hochstadt
12384c6c3f
Change type variable environments from hash tables to sets.
2010-06-21 18:29:59 -04:00
Sam Tobin-Hochstadt
e9f8cc9aca
Refactor test harness.
2010-06-21 18:29:59 -04:00
Sam Tobin-Hochstadt
f7b59f78e9
Generalize ListDots to Listof in inference of loop var types.
2010-06-21 18:29:58 -04:00
Sam Tobin-Hochstadt
a2af89bafd
Inference for passing ListDots as Listof.
2010-06-21 18:29:57 -04:00
Sam Tobin-Hochstadt
fd5a662ccc
Subtyping between (List T ... a) and (Listof T[Any/a])
2010-06-21 18:29:57 -04:00
Sam Tobin-Hochstadt
4cbeb0b2f0
Change type of ... rest args to have (List T ...) types.
2010-06-21 18:29:56 -04:00
Sam Tobin-Hochstadt
e40d1824b0
Initial ListDots test.
2010-06-21 18:29:56 -04:00
Sam Tobin-Hochstadt
50f93b9ed7
More environment refactoring.
...
- rationalize naming of files
- split files by env constructed
2010-06-21 18:29:55 -04:00
Jay McCarthy
a13edb18b6
Transparent XML structs
2010-06-21 12:48:26 -06:00
Jay McCarthy
801419693a
Default args to eliminate-whitespace
2010-06-21 12:48:26 -06:00
Eli Barzilay
554f026c71
"The Great Computer Language Shootout" -> "The Computer Language Benchmarks Game"
...
As requested by Isaac Gouy.
2010-06-20 22:19:43 -04:00
Eli Barzilay
ee57029a92
One more optimization, getting it to 60x.
2010-06-20 18:37:07 -04:00
Eli Barzilay
eec0f4bf66
Yet another 2x factor.
...
(Total ~22x.)
2010-06-20 18:37:06 -04:00
Eli Barzilay
c78f367d9f
Another simple improvement, making things about twice faster.
...
Total speedup is now ~14x.
2010-06-20 18:37:06 -04:00
Eli Barzilay
26c89b2ac6
And one more optimization gets this to a total of 6x improvement.
2010-06-20 18:37:06 -04:00
Eli Barzilay
e975e8e0c8
Another optimization, makes the `fl->fx' issue from the last one
...
irrelevant since it's not using it in the tight loop, but buys a bigger
improvement anyway.
2010-06-20 18:37:06 -04:00
Eli Barzilay
96006264ad
Some improved shootout benchmarks.
...
* An improved version of the `fasta' benchmark: ~2.5 times faster, and
if an inlined `unsafe-fl->fx' is added it is probably going to be
about ~3.5 times faster.
* `reversecomplement' -- revised code that is ~2.5 times faster, further
tweaks and unsafe ops gets it to ~4.5 times.
* Doing the structs differently in `binarytrees' and a few minor tweaks
get it to be ~1.5 times faster. This is probably because a leaf has
now only one field.
* `mandelbrot' improved a little (~1.2x), but the code is pretty much a
rewrite. (Given some more flonum inlining it can probably do much
better.)
* Added a comment to `pidigits-gmp' saying that it was used without
attribution.
These versions use unsafe operations, but I'm not putting them in
separate files since it's easy to turn them off. I've also removed
"mandelbrot-unsafe.rkt", since it was identical to the safe version.
2010-06-20 18:36:25 -04:00
Sam Tobin-Hochstadt
1e15ce1f32
Fix error message for 1-arg apply
2010-06-19 14:58:52 -04:00
Vincent St-Amour
f16732adbe
Fixed a typo in the shootout harness.
2010-06-18 20:30:15 -04:00
Robby Findler
4cd7152b62
made the drracket test suite match the new labels in the language dialog.
2010-06-18 17:38:54 -05:00
Vincent St-Amour
416f4fd3c3
Added input generation for the regexmatch benchmark.
2010-06-18 17:43:06 -04:00
Vincent St-Amour
894d159123
Disabled thread-ring in the harness, since it calls exit and doesn't
...
display its running time.
2010-06-18 17:43:05 -04:00
Vincent St-Amour
1dc963684b
Rewrote the typed partialsums benchmark to be closer to the untyped
...
version.
2010-06-18 17:43:04 -04:00
Vincent St-Amour
31f285d23c
Adjusted benchmark sizes.
2010-06-18 17:43:04 -04:00
Vincent St-Amour
343e9d23b4
Ported some new benchmarks and variants to Typed Scheme.
2010-06-18 17:43:04 -04:00
Vincent St-Amour
ffad1edd7a
Added the fannkuch-redux benchmark, which replaced fannkuch on the
...
shootout roster.
2010-06-18 17:43:03 -04:00
Vincent St-Amour
7ccae0fb1d
Got rid of assertions in the benchmarks caused by naturals as indices.
2010-06-18 17:43:02 -04:00
Vincent St-Amour
54eefc52ed
Relaxed some type constraints on the ray tracer benchmark.
2010-06-18 17:43:01 -04:00
Vincent St-Amour
e0b880d1ea
Fixed the sumcol benchmark to obey the new type for read-line.
2010-06-18 17:43:01 -04:00
Vincent St-Amour
72ec18cc68
Rewrote the moments benchmark to potentially benefit from unboxing of
...
loop accumulators.
2010-06-18 17:43:01 -04:00
Vincent St-Amour
06eb544fd6
Fixes to the shootout benchmarks to reflect the new weaker promotion
...
rules.
2010-06-18 17:43:00 -04:00
Vincent St-Amour
ff1c3874cc
Added a coercion to inexact to avoid the case: (* <float> 0) -> exact 0
...
which causes a segfault when the result is used with an unsafe-fl
operation.
2010-06-18 17:43:00 -04:00
Vincent St-Amour
cff4eef7b2
Adjusted input size for the shootout benchmarks.
2010-06-18 17:43:00 -04:00
Vincent St-Amour
31d4da6f39
Added an empty benchmark to measure Typed Scheme's startup time.
2010-06-18 17:42:59 -04:00