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
Vincent St-Amour
7bb8405871
Fixed a bug in the shootout harness, which threw away generated input.
2010-06-18 17:42:59 -04:00
Vincent St-Amour
3e0446d774
Modified some of the untyped shootout benchmarks to be closer to the
...
typed versions.
2010-06-18 17:42:58 -04:00
Vincent St-Amour
7f3db138e7
Integrated the typed shootout benchmarks to the untyped harness.
2010-06-18 17:42:58 -04:00
Vincent St-Amour
d48f1bb6aa
Racketified the untyped shootout benchmarks.
2010-06-18 17:42:58 -04:00
Vincent St-Amour
4fde1e8ccb
Ported most of the shootout benchmarks to Typed Scheme.
2010-06-18 17:42:57 -04:00
Sam Tobin-Hochstadt
77e4bbb5eb
base-types-new -> base-types
2010-06-17 11:47:16 -04:00
Sam Tobin-Hochstadt
bdbb6d48e6
Try harder to find types for loop variables.
...
- use `find-annotation' more
- recognize (let ([x y]) ...)
2010-06-17 11:26:33 -04:00
Vincent St-Amour
93e5d0e9dc
Added an option to subtract the running time of the empty benchmark to
...
the tabulator.
2010-06-15 16:39:32 -04:00
Vincent St-Amour
a33372eb78
Added an option to display the coefficient of variation to the
...
tabulator.
2010-06-15 16:21:51 -04:00
Sam Tobin-Hochstadt
4cc86cc8c8
set-mc[ad]r!, inference, printing, tests for mpairs
2010-06-15 16:10:16 -04:00
Sam Tobin-Hochstadt
f73d63e1af
eq? is a predicate for eof
2010-06-15 14:59:08 -04:00
Sam Tobin-Hochstadt
cf5c74a2ca
Generate -> instead of ->* when required by case->.
...
Closes PR 10977.
2010-06-13 15:01:57 -04:00
Sam Tobin-Hochstadt
d4d286d31d
Allow (All (A) A -> A), dropping pair of parens.
2010-06-13 14:38:03 -04:00
Vincent St-Amour
fe09ce3dee
Added Jeff Siskind's ray tracer to the racket-specific benchmarks.
2010-06-11 19:48:23 -04:00
Vincent St-Amour
727000fbfb
Fixed the common benchmark harness to compile the typed benchmarks
...
before running them.
2010-06-11 19:48:22 -04:00
Sam Tobin-Hochstadt
1cff0a1f85
Actually typecheck actuals even when there's a type annotation.
2010-06-11 19:35:56 -04:00
Sam Tobin-Hochstadt
7ece2a4872
Fix type of `zero?' to properly handle 0.0.
2010-06-11 18:54:05 -04:00
Matthew Flatt
d6d5c914f7
cases when number functions produce 0: clarify docs and fix (atan 0 x)
...
for positive exact x;
also clarify docs on some cases when divide-by-zero exception is raised
2010-06-11 15:04:24 -06:00
Sam Tobin-Hochstadt
fd1b20c93d
Fix optimizer for refactoring.
2010-06-11 14:21:42 -04:00
Sam Tobin-Hochstadt
b649575afc
new bug with mutation
2010-06-11 11:55:22 -04:00
Sam Tobin-Hochstadt
0379e534e3
New interface for unstable/mutated-vars
...
- functional hash tables
- fix clients
2010-06-10 13:28:29 -04:00
Stevie Strickland
7b38cef4e8
Fix first-order cons/c check in mzlib contract tests.
2010-06-09 15:52:29 -04:00
Vincent St-Amour
6b4ca4d7b0
Added tests and documentation for Thread and Channel types.
2010-06-09 14:54:37 -04:00
Vincent St-Amour
0741b48c99
Modified the for: macros to use sequence types.
2010-06-09 14:54:34 -04:00
Vincent St-Amour
f42880c320
Moved the typed common benchmarks to a separate subdirectory.
2010-06-09 14:54:33 -04:00
Vincent St-Amour
077e1d9bca
Increased the size of the pseudoknot benchmark and ported it to
...
idiomatic racket, then to Typed Scheme.
2010-06-09 14:51:52 -04:00
Stevie Strickland
99bb46d225
Fix flat immutable container ctcs so that errors pinpoint specific elements.
...
* Fixes immutable container contract combinators so that, if given flat
contracts, they report blame errors in terms of the specific element
that failed, instead of reporting the entire container as failing.
This fixes issues seen with contracts such as (listof string?), where
the contract is applied to a list with far too many elements to print
all at once and the failing element is never printed.
* Fixes vector-immutable/c so that if all the element contracts are flat,
we create a flat contract, like the other immutable container contract
combinators.
* Also have more appropriate first-order checks for each combinator
than just "Is it the right type of container?".
These changes affect:
listof
non-empty-listof
vector-immutableof
cons/c
box-immutable/c
vector-immutable/c
2010-06-09 13:29:04 -04:00
Matthew Flatt
d6ddbe15d5
support kw/opt args in define-syntax' and
define-for-syntax'
2010-06-09 13:05:43 -04:00
Sam Tobin-Hochstadt
78023d08f9
Sequenceof type.
...
- inferencing and subtyping relation with vectors, lists, etc
- use in `make-sequence'
- add tests
2010-06-09 11:03:12 -04:00
Sam Tobin-Hochstadt
78832fe332
Support case-lambda with multiple branches with keyword arguments.
2010-06-08 17:50:48 -04:00
Sam Tobin-Hochstadt
6d2b5569f4
Remove bogus #lang line
2010-06-08 13:08:13 -04:00
Sam Tobin-Hochstadt
9fc7a1eca4
Use `assert' for casts in typed benchmarks.
2010-06-08 12:05:58 -04:00
Sam Tobin-Hochstadt
5f5dca4c69
Undo changes to benchmarks to use `sub1'.
2010-06-08 12:05:57 -04:00
Sam Tobin-Hochstadt
7f300a2c4f
Special-case (- x 1) for use in loops.
2010-06-08 12:05:56 -04:00
Sam Tobin-Hochstadt
7df8e32793
Properly handling immutable invariant structs.
2010-06-07 14:03:06 -04:00
Mike Sperber
93d7ec9446
Don't recheck DMdA lazy contracts we've already checked.
...
We avoided re-applying contracts that haven't been checked, but not
those that have. Do so now.
2010-06-07 17:06:07 +02:00
Carl Eastlund
a915d7c053
Changed unstable/debug to use error printing instead of logger output.
2010-06-06 20:31:36 -04:00
Carl Eastlund
ddc889532e
Replaced unstable/debug with unstable/cce/debug.
2010-06-06 20:31:36 -04:00
Carl Eastlund
5faced0c23
Moved unstable/cce/set to unstable/set.
2010-06-06 20:31:35 -04:00
Carl Eastlund
7131198974
Moved unstable/cce/define to unstable/define.
2010-06-06 20:31:33 -04:00
Carl Eastlund
ce85a96978
Moved the contents of unstable/cce/syntax to multiple other modules:
...
unstable/syntax, unstable/contract, and unstable/planet-syntax.
2010-06-06 20:31:32 -04:00
Carl Eastlund
fb53d5d191
Moved unstable/cce/dict to unstable/dict.
2010-06-06 20:31:31 -04:00
Carl Eastlund
86a3c3ed18
Moved unstable/cce/class to unstable/class.
2010-06-06 20:31:31 -04:00
Carl Eastlund
1360d02728
Added unstable/cce/exn to unstable/exn.
2010-06-06 20:31:30 -04:00
Carl Eastlund
402232237c
Moved unstable/cce/port to unstable/port.
2010-06-06 20:31:21 -04:00
Carl Eastlund
2db3a9d38a
Moved unstable/cce/regexp to unstable/regexp.
2010-06-06 20:30:48 -04:00
Carl Eastlund
3a525b9a12
Replaced unstable/hash with unstable/cce/hash.
2010-06-06 20:30:48 -04:00
Carl Eastlund
286319d723
Added unstable/cce/contract contents to unstable/contract.
2010-06-06 20:30:47 -04:00
Carl Eastlund
70858e93e5
Moved unstable/cce/queue to unstable/queue.
2010-06-06 20:30:40 -04:00
Carl Eastlund
1d0c069a6c
Moved unstable/cce/web to unstable/web.
2010-06-06 20:29:59 -04:00
Carl Eastlund
14b2daab66
Moved unstable/cce/values to unstable/values.
2010-06-06 20:29:56 -04:00
Carl Eastlund
a22a1a4c15
Added unstable/cce/match macros to unstable/match.
2010-06-06 20:29:55 -04:00
Carl Eastlund
6bcf77fe65
Moved unstable/cce/text to unstable/text.
2010-06-06 20:29:54 -04:00
Carl Eastlund
8d10a6343b
Adapted unstable/cce/function to unstable/function.
2010-06-06 20:29:54 -04:00
Jay McCarthy
add2cbbbda
Correcting test
2010-06-02 12:12:44 -06:00
Jay McCarthy
2985001a79
Fixing PR10950
2010-06-02 10:20:20 -06:00
Jay McCarthy
3ff7b0461c
Debugging
2010-06-02 10:20:19 -06:00
Matthew Flatt
61d39f2568
bytecode compiler convert (apply f .... (list arg ...))
2010-06-01 19:22:39 -06:00
Sam Tobin-Hochstadt
0e3c2b71cc
Test for PR 10946.
2010-06-01 13:38:45 -04:00
Eli Barzilay
d0ecc73df5
More plt-scheme -> racket-lang, specifically for planet and bugs urls.
2010-05-31 15:11:27 -04:00
Vincent St-Amour
64ff5555fb
Corrected some of the typed benchmarks to typecheck with Naturals as indices.
2010-05-29 14:23:11 -04:00
Vincent St-Amour
2229173b82
Changed the types of some numerical operations to be closed on naturals.
2010-05-29 11:31:47 -04:00
Sam Tobin-Hochstadt
d323a794e8
Change `typed-scheme' numerics.
...
- `number?' no longer `real?'
- Number no longer Real
- remove obsolete environments
- Fix tests to use Real where necessary.
- Fix typed/mred and typed/framework
- Fix insert-large-letters to use `sub1' for type-safe loop
Merge to 5.0.
2010-05-28 19:24:46 -04:00
Vincent St-Amour
311be27422
Changed the common benchmark harness to compile benchmarks before
...
running them.
2010-05-28 19:05:45 -04:00
Vincent St-Amour
e9a0014630
Disabled multi-valued seq-exprs in the for: macros because using them
...
triggers an internal error in the typechecker.
2010-05-28 19:05:44 -04:00
Vincent St-Amour
c92ae73859
Wrote tests for the for: macros.
2010-05-28 19:05:44 -04:00
John Clements
2b7797ad17
comments added, & 1 test
2010-05-28 14:57:18 -07:00
Matthew Flatt
9f7a08663d
fix bug in JIT handling of with-continuation-mark
...
The bug was specific to the case of a wcm in tail position
of another wcm, where its mark should replace the outer one,
and where the outer one is not in tail position with respect
to the enclosing function
Merge to v5.0
2010-05-28 14:28:06 -06:00
Jay McCarthy
0a9e3da26e
Renaming formlet* source
2010-05-28 14:09:07 -06:00
Jay McCarthy
c907fae871
Adding formlet*
2010-05-28 14:09:07 -06:00
Matthew Flatt
d923ef135f
add examples from J-P Roy's textbook to check before a release
2010-05-27 15:30:00 -06:00
Matthew Flatt
6006a4c84d
fix helper file for raco ctool test
2010-05-27 13:33:51 -06:00
Jay McCarthy
612bd22bfe
Cyclic zo tests
2010-05-27 12:33:25 -06:00
Jay McCarthy
08a48a67a0
Making string->xexpr more permissive
2010-05-27 10:48:42 -06:00
Sam Tobin-Hochstadt
34fef6e538
Re-enable test.
2010-05-27 12:46:29 -04:00