Niko Matsakis
7e5661214a
Remove unnecessary temporary, add type annot to help inferencer (cc #2280 )
2012-09-13 09:14:49 -07:00
Brian Anderson
308ca06012
Rename str::unsafe to str::raw
2012-09-12 19:55:16 -07:00
Niko Matsakis
5d540de769
fixup mutability of vec::each, make iter_bytes pure
...
also, change DVec() to work with imm vectors rather than mut ones
2012-09-12 13:29:31 -07:00
Brian Anderson
ea01ee2e9e
Convert 'use' to 'extern mod'. Remove old 'use' syntax
2012-09-11 19:25:43 -07:00
Brian Anderson
298eb8c726
Convert 'import' to 'use'. Remove 'import' keyword.
2012-09-10 19:04:26 -07:00
Brian Anderson
cb7a5395dd
Convert std::map to camel case
2012-09-10 17:08:36 -07:00
Niko Matsakis
29003c799f
Rename the poorly named Managed<T> type to Mut<T>.
...
The Mut<T> type is intended to allow freezable data stuctures to be stored in
`@mut` boxes. Currently this causes borrowck to be very conserivative since it
cannot prove that you are not modifying such a structure while iterating over
it, for example. But if you do `@Mut<T>` instead of `@mut T`, you will
effectively convert borrowck's static checks into dynamic ones. This lets
you use the e.g. send_map just like a Java Map or something else.
2012-09-10 16:50:07 -07:00
Brian Anderson
93d3b8aa6b
Convert class methods to impl methods. Stop parsing class methods
2012-09-10 16:13:08 -07:00
Brian Anderson
10aa849d28
Fix broken tests
2012-09-10 15:36:04 -07:00
Patrick Walton
22b8757705
rustc: Make shape-based compare glue never called for comparison operators.
...
Only called for string patterns.
2012-09-10 12:48:42 -07:00
Jeff Olson
8e86cd0aa7
test: bunch of test cleanup from sendable_futures change
2012-09-08 14:22:16 -07:00
Kevin Cantu
00d1d4e647
(fix incoming) Add the necessary traits to some generic functions
2012-09-07 21:57:40 -07:00
Kevin Cantu
a12e90b65f
(partially fix incoming) More hash function simplification
2012-09-07 21:08:37 -07:00
Brian Anderson
3bd1f32cd9
Convert all kind bounds to camel case. Remove send, owned keywords.
2012-09-07 18:10:11 -07:00
Brian Anderson
2810ea9a68
Convert 'again' to 'loop'. Remove 'again' keyword
2012-09-07 17:39:03 -07:00
Brian Anderson
f0eae8f1c1
Convert field terminators to commas. Stop parsing semis.
2012-09-07 16:12:15 -07:00
Brian Anderson
2572e80355
Remove 'let' syntax for struct fields
2012-09-07 14:02:33 -07:00
Brian Anderson
b4e547d71a
Remove struct ctors
2012-09-06 10:52:26 -07:00
Niko Matsakis
5e36a99794
Refactor trans to replace lvalue and friends with Datum.
...
Also:
- report illegal move/ref combos whether or not ref comes first
- commented out fix for #3387 , too restrictive and causes an ICE
2012-09-06 06:11:12 -07:00
Patrick Walton
f686896f60
test: "import" -> "use"
2012-09-05 12:32:05 -07:00
Patrick Walton
914b6fead9
test: Fix smallintmap test
2012-09-05 11:24:44 -07:00
Brian Anderson
3764fe3f2a
std: Camel case list
2012-09-04 14:12:49 -07:00
Brian Anderson
f393100b7c
Camel case core::ops
2012-09-02 18:13:56 -07:00
Graydon Hoare
536cb90a21
Migrate core::send_map to random, keyed hashes w/ hash::Hash trait.
2012-08-30 19:05:54 -07:00
Brian Anderson
aab4d6b8d7
std: Camel case some constructors
2012-08-29 15:34:38 -07:00
Ben Striegel
a605fd0cad
CamelCasify lots of std
2012-08-28 18:52:44 -07:00
Brian Anderson
cfbc7cbdc7
Convert core::pipes to camel case
2012-08-28 14:33:18 -07:00
Brian Anderson
161a82e433
Camel case various core constructors
2012-08-27 17:22:18 -07:00
Brian Anderson
0c6e470a25
Convert core::result to camel case
2012-08-27 14:37:04 -07:00
Ben Blum
330311658f
fix bench test for arc::arc camelcase
2012-08-26 22:15:10 -04:00
Brian Anderson
8337fa1a54
Camel case the option type
2012-08-26 15:56:16 -07:00
Brian Anderson
d9a6a63653
Fix build breakage
2012-08-26 13:51:10 -07:00
Graydon Hoare
c284b8b1dc
Start using core::path2::Path in a lot of places.
2012-08-24 15:51:16 -07:00
Ben Blum
79266c614d
remove a print in msgsend-ring-rw-arcs
2012-08-23 21:09:57 -04:00
Tim Chevalier
9f591319dd
Rename str::bytes to str::to_bytes
...
Closes #3245
2012-08-23 15:46:10 -07:00
Tim Chevalier
e9622f09aa
Remove match check from test cases
2012-08-23 15:12:02 -07:00
Paul Stansifer
77e83d83a9
Change calls of proto!
to use parens.
2012-08-23 11:14:15 -07:00
Paul Stansifer
38891b91bf
Update invocation syntax for macro_rules!
2012-08-23 11:14:14 -07:00
Paul Stansifer
29f32b4a72
m1!{...}
-> m1!(...)
2012-08-23 11:14:14 -07:00
Ben Blum
7fe1005fd1
Add msgsend-ring-{rw,mutex}-arcs bench tests
2012-08-21 19:40:47 -04:00
Niko Matsakis
bc5eb95222
implement a map testing benchmark
...
This involved some other changes:
- add a managed<T> wrapper that makes send_map usable from @-data
- implement map<K,V> for managed<send_map>
Unit tests are coming.
2012-08-21 16:07:53 -07:00
Niko Matsakis
652b312122
more sound treatment of fn& regions; change all & to be distinct
2012-08-21 10:28:34 -07:00
Brian Anderson
3ab4b014cf
Remove the class keyword
2012-08-17 10:13:45 -07:00
Eric Holk
5f57588887
Update the rock-paper-scissors example in the tutorial, and rename some types in core::pipes
2012-08-16 17:50:36 -07:00
Brian Anderson
9c6890f488
Convert more core types to camel case
2012-08-15 17:46:05 -07:00
Brian Anderson
11258310e2
Convert more core types to camel case
2012-08-14 18:26:03 -07:00
Graydon Hoare
96007441e1
fix more fallout from future de-mode-ing.
2012-08-14 04:47:58 +00:00
Graydon Hoare
91612dbb7e
De-mode-ify a few minor libcore modules.
2012-08-13 17:11:33 -07:00
Ben Blum
67b5d5f673
Fix compile-fail arc/sync tests
2012-08-10 21:24:10 -04:00
Brian Anderson
6a0720b439
Convert impls to new syntax
2012-08-08 18:19:24 -07:00
Jesse Ruderman
a76e4334b3
Add spawn_conversation
2012-08-08 16:57:13 -04:00
Ben Blum
18ac4a8e6d
Change task().future_result's argument mode
2012-08-07 14:26:41 -04:00
Ben Blum
a3dd67ae91
Make 100 generations perf test sensitive to spawn failures
2012-08-06 19:46:20 -04:00
Brian Anderson
ecaf9e39c9
Convert alt to match. Stop parsing alt
2012-08-06 15:36:30 -07:00
Eric Holk
c973732a23
Enabling pingpong benchmark.
2012-08-06 13:25:34 -07:00
Eric Holk
bd9d5e50be
Add missing =>
2012-08-06 09:55:53 -07:00
Eric Holk
9f287c211e
Refcount tasks in packets to avoid races.
...
Revert "Once again, revert "Use pipes in compiletest""
Fixes #3098
2012-08-06 09:10:19 -07:00
Brian Anderson
025d86624d
Switch alts to use arrows
2012-08-05 22:08:09 -07:00
Ben Blum
f57760c609
Add task-perf-linked-failure.rs
2012-08-03 20:24:41 -04:00
Eric Holk
739e83d859
Xfailing until the pipe race is fixed.
2012-08-03 15:22:33 -07:00
Niko Matsakis
31c5cec55b
Purge placement new; Make borrowck know about unary move.
...
cc #3071
2012-08-02 22:36:36 -07:00
Eric Holk
f76a46242b
Convert pfib to pipes. This is a useful stress test.
2012-08-02 18:55:44 -07:00
Eric Holk
1f2178e2d3
Removing an obsolete benchmark
2012-08-02 18:55:44 -07:00
Niko Matsakis
97452c0ca1
Remove modes from map API and replace with regions.
...
API is (for now) mostly by value, there are options to use it by
reference if you like. Hash and equality functions must be pure
and by reference (forward looking to the day when something
like send_map becomes the standard map).
2012-08-02 15:53:28 -07:00
Ben Blum
8d7dfa44b0
Linked failure: Add '100 generations' bench test ( #1868 )
2012-08-02 00:07:12 -04:00
Brian Anderson
b355936b4d
Convert ret to return
2012-08-01 19:16:06 -07:00
Brian Anderson
c5437c0bbf
Fix failing tests
2012-07-31 21:13:57 -07:00
Paul Stansifer
a9cc5066ee
Change syntax extension syntax: #m[...]
-> m!{...}
.
2012-07-30 18:38:15 -07:00
Elliott Slaughter
416584d339
Revert "Fix build by xfailing tests which produce irreducible CFGs."
...
This reverts commit 9ca2a11137
.
2012-07-30 15:58:23 -07:00
Tim Chevalier
082d8314da
Rewrite bitv to use classes and optimize its representation
...
Rewrote bitv as a class that uses a 32-bit int as its representation
for bit vectors of 32 bits or less, and a vector (the old representation)
otherwise. I didn't benchmark very much, but a bit of informal benchmarking
suggested this is a win.
Closes #2341
2012-07-29 18:39:15 -07:00
Patrick Walton
93c2f5e0e4
rustc: Use coherence for operator overloading.
...
The only use of the old-style impls is now placement new.
2012-07-27 19:35:24 -07:00
Eric Holk
3c731df890
re-xfailing pingpong
2012-07-26 17:11:04 -07:00
Eric Holk
79f5d62d47
Added .peek for recv_packets
2012-07-26 17:10:48 -07:00
Eric Holk
c918bd01b0
Fix borrow check errors in k-nucleotide.
2012-07-26 17:10:48 -07:00
Eric Holk
65beca4e01
Use iteration protocol for ebml, use vec::view in more places (issue #2880 )
2012-07-26 17:10:48 -07:00
Damian Gryski
74d60a619a
shootout-mandelbrot: devnull writer needs get_type impl
2012-07-26 17:05:13 -07:00
Graydon Hoare
43867bf6f3
Merge pull request #3014 from elliottslaughter/fix-failed-build-by-xfailing-tests
...
Fix build by xfailing tests which produce irreducible CFGs.
2012-07-25 14:50:02 -07:00
Elliott Slaughter
9ca2a11137
Fix build by xfailing tests which produce irreducible CFGs.
2012-07-25 14:42:37 -07:00
Eric Holk
6748f78cb1
Polymorphic protocols work well enough to do MapReduce.
...
I did some horrible things with type variable naming here. It should do the right thing in most cases, but we'll need to go through and make it correct someday.
2012-07-25 12:12:26 -07:00
Eric Holk
f5be06fa1f
Added infrastructure to spin for a bit on recv. A spin count > 0 makes bench/pingpong.rs about 10x faster, but makes msgsend-ring-pipes unbearably slow.
2012-07-25 12:12:25 -07:00
Eric Holk
35576168dc
Added a benchmark of bounded vs unbounded. Bounded is 8-12% faster. The macros currently don't work without pretty printing first.
2012-07-25 12:12:25 -07:00
Ben Blum
b30a58abe2
Convert bench and run-pass tests to new task_builder interface
2012-07-23 20:09:17 -04:00
Niko Matsakis
e0ea67a2a6
prevent regions from escaping in ifaces; remove &r.T syntax
2012-07-18 11:48:58 -07:00
Patrick Walton
db020ab63c
rustc: Implement and enforce instance coherence
2012-07-17 15:46:43 -07:00
Gareth Daniel Smith
fe43d66613
replace core::tuple functions with methods
2012-07-16 22:33:20 +01:00
Michael Sullivan
92743dc2a6
Move the world over to using the new style string literals and types. Closes #2907 .
2012-07-14 01:03:43 -07:00
Eric Holk
05543fd04d
Make tests pass
2012-07-12 20:09:30 -07:00
Eric Holk
fec8059ed5
Move port_set and shared_chan into core.
2012-07-12 18:16:01 -07:00
Eric Holk
ba10819800
Added a message send that uses shared chans. They are slower than port selectors, but scale better.
2012-07-12 18:16:01 -07:00
Eric Holk
75e55c1b12
Faster select. This version gives us about a 4x speedup.
2012-07-12 18:16:01 -07:00
Eric Holk
c56a38ac2a
Added a version of msgsend that uses pipes and select. Here, select is way too slow to be useful, but this can be optimized.
2012-07-12 18:16:00 -07:00
Eric Holk
1a276dba52
Switch map-reduce control protocol to use pipes. This exposed a bug in the pipe compiler, which is now fixed.
...
Use hashmaps in MapReduce
Tweak word-count difficulty
2012-07-12 18:16:00 -07:00
Michael Sullivan
1c62f5ff74
Get rid of all of the remaining /~s in the code base.
2012-07-12 15:13:18 -07:00
Eric Holk
bf88ff5217
Remove slow vec+=, and make word-count difficulty harder.
2012-07-11 11:36:37 -07:00
Eric Holk
a00478b7c9
word-count-generic now generates random words in benchmark mode.
2012-07-11 11:36:37 -07:00
Eric Holk
22e955a76a
Move streams into core.
2012-07-10 22:00:48 -07:00
Eric Holk
594d9a0554
Use protocol compiler in future.rs. Also split recv into recv and try_recv.
2012-07-10 22:00:48 -07:00
Brian Anderson
71fd542f26
test: Fix shootout-binarytrees
2012-07-10 12:09:36 -07:00
Brian Anderson
1e8ae18ba1
test: Fix shootout-fasta
2012-07-10 12:05:23 -07:00
Graydon Hoare
c26d02557e
Switch 'cont' to 'again' everywhere. Close #2229 .
2012-07-09 14:37:48 -07:00
Brian Anderson
02ef651f95
Increase the difficulty of chameneos-redux under 'make perf'
2012-07-07 22:39:23 -07:00
Kevin Cantu
638ee23fcf
Add improvements suggested by erickt and bblum
2012-07-07 22:27:00 -07:00
Kevin Cantu
2bd482ef11
Add the Alioth chameneos-redux benchmark
...
This adds a Rust implementation of the Alioth chameneos-redux benchmark:
http://shootout.alioth.debian.org/u64q/performance.php?test=chameneosredux
This version already seems faster than Clojure, Ruby, and OCaml. I'm running
with N=6,000,000 in about 1m 50s. Further optimization would be good, though.
I'm talking right now with @eholk about how pipes could be used (this is 1:many)...
2012-07-07 22:27:00 -07:00
Eric Holk
b925648ac7
Added a k-nucleotide version that uses pipes. 31% speedup.
2012-07-06 15:16:16 -07:00
Eric Holk
604f7c66ff
Removing locked queue port/chan prototype.
2012-07-06 11:05:28 -07:00
Eric Holk
7b03832c95
Updating tests to use pipes.
2012-07-06 10:42:41 -07:00
Eric Holk
a787f40013
Select on pipes.
...
Updating syntax and test cases.
2012-07-06 10:42:39 -07:00
Eric Holk
a4838c93aa
Enabling pipes for all stages, and updating closure syntax.
2012-07-06 10:42:39 -07:00
Eric Holk
67b0760592
Moved pipes runtime support to libcore, and add a test that will help verify that busy waiting is no longer happening.
...
Fixing the result of a bad merge.
2012-07-06 10:42:39 -07:00
Eric Holk
5c3889a02f
Contracts work well enough to do the message ring benchmark, and it's really fast.
...
Fixing old-style vector, and xfail-prettying th contracts test because the pretty printer is unhappy.
2012-07-06 10:42:38 -07:00
Tim Chevalier
889be71cb4
Comments only: change TODOs to FIXMEs and annotate them
2012-07-05 16:10:29 -07:00
Gareth Daniel Smith
be0141666d
convert doc-attributes to doc-comments using ./src/etc/sugarise-doc-comments.py (and manually tweaking) - for issue #2498
2012-07-04 19:18:13 -07:00
Ben Striegel
f2e2a14f36
Remove empty argument lists from do expressions
2012-07-04 17:21:29 -07:00
Brian Anderson
41bca84dd9
core: Convert iter::repeat to the for protocol
2012-07-03 17:31:31 -07:00
Graydon Hoare
7762c80d1b
Fix more future::future breakage.
2012-07-03 16:16:45 -07:00
Graydon Hoare
debb7e4641
Switch 'native' to 'extern' (or 'foreign' in some descriptions)
2012-07-03 16:11:00 -07:00
Lindsey Kuper
7a4ebcefcb
Update nbody benchmark to more idiomatic Rust; nix obsolete comments
2012-07-02 15:20:59 -07:00
Brian Anderson
d1fc2b5995
Convert to new closure syntax
2012-07-01 19:19:32 -07:00
Brian Anderson
a3382b6f26
Eliminate usages of old sugared call syntax
2012-06-30 16:01:49 -07:00
Michael Sullivan
98e161f00e
Switch the compiler over to using ~[] notation instead of []/~. Closes #2759 .
2012-06-29 17:41:45 -07:00
Michael Sullivan
e7760470b4
Make a bunch of tests stop using the deprecated vector syntax.
2012-06-28 17:33:15 -07:00
Eric Holk
61b1875c16
make core-std respect RUST_BENCH
2012-06-27 22:30:08 -07:00
Eric Holk
0c42a3ffee
vec::append reuses its left hand side when possible. (issue #2719 )
2012-06-27 16:19:49 -07:00
Eric Holk
133fdc1148
Remove unnecessary bounds checks in vec::push_all (issue #2719 )
...
Don't needlessly drop closures (issue #2603 )
2012-06-27 11:32:22 -07:00
Eric Holk
ccd2394ff9
perf: improved the core-std benchmark
2012-06-26 14:08:16 -07:00
Eric Holk
a08281616f
More perf tweaks (issue #2719 )
2012-06-26 14:08:16 -07:00
Michael Sullivan
329eca6044
Make vectors uglier ([]/~). Sorry. Should be temporary. Closes #2725 .
2012-06-25 20:00:46 -07:00
Eric Holk
b19c98ea9a
Some perf fixes, although vec::slice is still too slow (Issue #2719 )
2012-06-25 16:38:12 -07:00
Tim Chevalier
da470ff5b8
Merge
2012-06-25 13:29:41 -07:00
Tim Chevalier
e9f19283b3
Remove resources from a few places I missed
2012-06-25 12:20:51 -07:00
Eric Holk
3ba7ca5c9f
Improved perf for msgsend (Issue #2719 )
2012-06-25 11:27:32 -07:00
Eric Holk
07e1d1c6b6
Improved graph500 performance (Issue #2719 )
2012-06-25 11:15:45 -07:00
Eric Holk
26c11f7b50
Use must_have_lock instead of private functions. (Issue #2700 )
...
I hereby declare that messages sent from the same source arrive in order (Issue #2605 )
Removing FIXME, owned is the correct type here. (Issue #2704 )
Remove outdated FIXME (Issue #2703 )
Updating test for spawning native functions (Issue #2602 )
Removing bogus FIXME (Issue #2599 )
2012-06-22 15:14:42 -07:00
Tim Chevalier
588c1eb41f
Remove resources from remaining test cases
2012-06-22 13:11:29 -07:00
Eric Holk
40559ea839
Adding a benchmark for the new message passing code
2012-06-21 16:11:11 -07:00
Eric Holk
4d1e415611
Remove some commented out code so the pretty printer doesn't get confused.
2012-06-21 16:11:11 -07:00
Eric Holk
9bdb2c9e48
Library vecs are fast now.
2012-06-21 16:11:11 -07:00
Eric Holk
0e5cfd9f33
Move vector addition out of trans and into libcore.
2012-06-21 16:11:11 -07:00
Tim Chevalier
1b4dcbecac
Comments only: typos
2012-06-20 20:12:14 -07:00
Brian Anderson
4dcf84e4f4
Remove bind. Issue #2189
2012-06-20 17:27:28 -07:00
Eric Holk
be664ddd29
Moved arc to libcore and added an arc that allows shared mutable state through mutual exclusion.
2012-06-19 10:31:12 -07:00
Eric Holk
9ee1480fd1
Another benchmark
2012-06-19 10:31:12 -07:00
Tim Chevalier
0276a3376b
Revert "Moved arc to libstd and added an arc that allows shared mutable state through mutual exclusion."
...
This reverts commit 015527b0ce
.
2012-06-16 15:21:08 -07:00
Eric Holk
015527b0ce
Moved arc to libstd and added an arc that allows shared mutable state through mutual exclusion.
2012-06-15 22:00:58 -04:00
Tim Chevalier
0a6ef35c8c
while => for
2012-06-14 15:35:43 -07:00
Tim Chevalier
13d4b61182
Comments only: annotate FIXMEs in tests
2012-06-14 15:35:43 -07:00
Brian Anderson
748bd12dc7
bench: xfail-pretty shootout-k-nucleotide
2012-06-09 16:12:28 -07:00
Brian Anderson
03e186cd04
bench: Modify shootout-k-nucleotide to not read from the filesystem
2012-06-09 13:57:18 -07:00
Brian Anderson
a884044066
bench: Increase the difficulty of fasta
2012-06-09 13:25:05 -07:00
Kevin Cantu
c2a9cc9394
Add the Alioth k-nucleotide benchmark
...
This is not particularly well performing yet (60x slower than C++ or
worse). I think the slicing and the copies made for the hashmap
are mostly responsible, but YMMV.
By default shootout-fasta writes to stdout and shootout-k-nucleotide
reads from stdin. To use an intermediate file with a fixed name,
set RUST_BENCH...
2012-06-09 12:58:12 -07:00
Eric Holk
1e8f501343
Machine types are different from int/uint, etc (Issue #2187 )
2012-06-04 19:16:47 -07:00
Brian Anderson
6e0085210c
core: Make uint::to_str faster
2012-06-04 14:30:57 -07:00
Ted Horst
3c4a1ab0c4
fix args to shootout-mandelbrot benchmark
2012-06-03 09:45:23 -05:00
Brian Anderson
027e97b129
bench: Add an unwinding benchmark
2012-06-02 17:49:36 -07:00
Eric Holk
ad292a8c73
Add xorshift to core::rand, which gave a 3x speedup for graph generation in the bfs code. Also, remove trailing white space.
2012-05-30 17:39:53 -07:00
Eric Holk
09a32aedb5
Remove warnings in std::par.
2012-05-30 17:39:53 -07:00
Eric Holk
58fdbdc4ef
Avoid some more copies.
2012-05-30 17:39:53 -07:00
Eric Holk
f0c345841c
Added a factory version of par::mapi, which avoids the need for share_arc, and copies arcs between tasks better.
2012-05-30 17:39:53 -07:00
Eric Holk
f05040f17a
Use std::deque now that the bugs are fixed. Also, avoid a few copies.
2012-05-30 17:39:53 -07:00
Eric Holk
ccb54f0ce0
Move par into libstd. Closes #2441 .
2012-05-30 12:03:51 -07:00
Eric Holk
f49b891ce5
Include capture clauses when generating metadata.
...
This may fix the bug that's blocking Issue #2441 .
2012-05-30 12:03:51 -07:00
Eric Holk
aa2efc05ea
Adding shared_arc to hide some of the tedium of sharing an arc between tasks.
...
Also added some asserts and logging to trans.
Modified graph500 to use the shared_arc, but this unfortunately doesn't work due to #2444 .
2012-05-29 10:43:19 -07:00
Brian Anderson
18f4bfd576
bench: Remove task-perf-vector-party. No longer relevant
2012-05-26 16:00:38 -07:00
Brian Anderson
45d0fbf6a1
bench: Increase the difficulty of some benchmarks
2012-05-26 16:00:35 -07:00
Brian Anderson
432c6cbde9
core: Make range follow the for loop protocol
2012-05-26 02:28:00 -07:00
Eric Holk
df83a793d9
In generic word count, use str instead of [u8], and use built in is_alphabetic, etc. functions.
2012-05-25 18:32:18 -07:00
Eric Holk
0c3a128419
Update word-count-generic to latest syntax and un-xfail it. Closes #1740 .
2012-05-25 18:32:18 -07:00
Michael Sullivan
8668d06400
Get rid of many implicit copies as a preliminary to Issue #2448 .
2012-05-25 16:39:35 -07:00
Niko Matsakis
9e6a068034
replace last_use with liveness info
2012-05-25 14:37:30 -07:00
Brian Anderson
4fec4cd8f5
bench: Add hard mode to benchmarks. Activate with RUST_BENCH.
...
RUST_BENCH is on automatically when running `make perf`
2012-05-23 22:55:41 -07:00
Brian Anderson
2f3cff2806
bench: Remove 99bob benchmarks
2012-05-23 20:29:46 -07:00
Brian Anderson
248f8826a9
bench: Reduce constants in std-smallintmap to make it valgrind fast
2012-05-23 11:24:02 -07:00
Brian Anderson
8caf1403be
bench: Reduce some constants to make graph500-bfs faster
2012-05-22 18:20:23 -07:00
Eric Holk
037a166ea7
Updating pbfs for new kind rules.
2012-05-22 15:51:11 -07:00
Eric Holk
b62d92c993
Removed accidental machine size dependencies.
2012-05-22 15:31:39 -07:00
Eric Holk
44bea03614
Updating bfs to work with the new random methods.
2012-05-22 15:31:39 -07:00
Eric Holk
5a4e2ae706
More unsafe pointers to share immutable structures between tasks. This version has a 2.8 to 3x speedup!
2012-05-22 15:31:39 -07:00
Eric Holk
7f05f088c7
Be less careful about checking that lengths make sense, for slightly more performance.
2012-05-22 15:31:39 -07:00
Eric Holk
77f6099606
Using unsafe pointers to views to try to reduce some vector copy and allocation time. Doesn't seem to have made much difference.
2012-05-22 15:31:39 -07:00
Eric Holk
ea889742d7
Using unsafe pointers to share closures.
...
This prevents the tons of copying problems we were having before, which means we only have a 5x slowdown now.
2012-05-22 15:31:39 -07:00
Eric Holk
65abe2c6dc
Using libstd future instead.
...
Turning off sequential versions for tracing.
2012-05-22 15:31:38 -07:00
Eric Holk
cba2761cc4
A new version of the sequential BFS. This uses the same approach as the parallel one, but without using the parallel vector oeprators.
2012-05-22 15:31:38 -07:00
Eric Holk
4312fa44b9
BFS now tries a number of search keys.
2012-05-22 15:31:38 -07:00
Eric Holk
a79f5174ea
A parallel BFS.
2012-05-22 15:31:38 -07:00
Eric Holk
a785f3fc95
Adding a module with parallel vector operations.
...
This should go in libstd, but currently resolve bugs make this not
work.
2012-05-22 15:31:38 -07:00
Eric Holk
d485f23a1a
Added most of the Graph500 validation routine. It's very slow.
2012-05-22 15:31:38 -07:00
Eric Holk
f5b9ebffa0
Starting on a BFS benchmark, but ran into problems with the deque module, so I used ports and channels as a queue in the simple sequential algorithm.
2012-05-22 15:31:38 -07:00
Niko Matsakis
b4be2c676f
create a smallintmap benchmark
2012-05-18 20:00:51 -07:00
Niko Matsakis
bfde2ba524
port smallintmap over to dvec
...
also: add a non-operator-overloaded method for [] to work around #2378
2012-05-18 20:00:51 -07:00
Niko Matsakis
da204e1d73
add swappable/dvec modules
2012-05-18 20:00:50 -07:00
Lindsey Kuper
b8880e3254
Remove be
keyword.
...
Closes #2227 .
2012-05-15 10:41:14 -07:00
Niko Matsakis
e348567f77
new, simpler approach to the iter library
2012-04-27 16:57:50 -07:00
Graydon Hoare
753b683939
More slice use in vec, io, str, ebml, metadata encoder and decoder.
2012-04-25 17:19:36 -07:00
Graydon Hoare
929c3dd710
Workarounds for bug #2280 : add some temporaries for borrowing.
2012-04-24 15:19:01 -07:00
Marijn Haverbeke
9053f54498
Move map iface over to more for
-friendly iteration methods
2012-04-23 15:18:19 +02:00
Niko Matsakis
3d6c79109e
update syntax to include a slash
2012-04-19 21:01:11 -07:00
Niko Matsakis
3c995fb8f3
make nominal types optionally parameterized by a self region.
...
Issue #2201 .
2012-04-19 21:01:11 -07:00
Marijn Haverbeke
c902eafa14
Convert old-style for loops to new-style
...
Most could use the each method, but because of the hack used to
disambiguate old- and new-style loops, some had to use vec::each.
(This hack will go away soon.)
Issue #1619
2012-04-06 20:38:23 +02:00
Tim Chevalier
98b07ddc82
Rename task::task_builder to task::builder
...
Closes #2120 .
2012-04-05 14:09:32 -07:00
Patrick Walton
8774493dd3
test: Rewrite binarytrees to use arenas
...
Perf isn't bad now. Still 50% slower than Java, but faster than other GC'd languages.
2012-03-29 08:41:26 -07:00
Graydon Hoare
6e6798c4e1
Bulk-edit mutable -> mut.
2012-03-26 18:35:18 -07:00
Niko Matsakis
dc07280b08
make --enforce-mut-vars always on, add mut annotations to remaining files
2012-03-22 09:58:19 -07:00
Brian Anderson
f69e9ff643
test: Fix breakage
2012-03-15 15:18:04 -07:00
Brian Anderson
3864d6d845
std: Rename the hashmap constructors to conform to new standards
...
Instead of using the new_ prefix just name them after their type
2012-03-14 18:19:08 -07:00
Brian Anderson
cd72b1f848
Overhaul constructor naming in libs
2012-03-13 11:07:22 -07:00
Graydon Hoare
6f5853f5a1
Libc/os/run/rand/io reorganization. Close #1373 . Close #1638 .
...
- Move io, run and rand to core.
- Remove incorrect ctypes module (use libc).
- Remove os-specific modules for os and fs.
- Split fs between core::path and core::os.
2012-03-12 20:08:29 -07:00
Tim Chevalier
321fd80219
Add an infinite loop construct
...
Add a loop {} construct for infinite loops, and use it in test
cases. See #1906 for details.
2012-03-09 16:40:58 -08:00
Patrick Walton
c9375fed8d
stdlib: Stop incurring vtable dispatch costs when hashmaps are used
...
This required changing almost all users of hashmaps to import the hashmap interface first.
The `size` member in the hashmap structure was renamed to `count` to work around a name conflict.
2012-03-07 17:35:13 -08:00
Patrick Walton
c245d9e980
Revert "stdlib: Stop incurring vtable dispatch costs when hashmaps are used"
...
This reverts commit f0250a23d3
.
2012-03-07 16:56:45 -08:00
Patrick Walton
f0250a23d3
stdlib: Stop incurring vtable dispatch costs when hashmaps are used
...
This required changing almost all users of hashmaps to import the hashmap interface first.
The `size` member in the hashmap structure was renamed to `count` to work around a name conflict.
2012-03-07 16:51:31 -08:00
Erick Tryzelaar
f630ebdb6a
comp/std: rename io::string_reader to io::str_reader.
2012-03-02 19:15:35 -08:00
Brian Anderson
3ed6f6520f
core: Remove _mut functions from vec
...
Instead, use vec::to_mut/from_mut to transform vectors in place as
needed.
2012-03-02 15:49:49 -08:00
Marijn Haverbeke
780f8277f4
Finish cleanup of core::str
...
Closes #1849
2012-02-23 17:00:19 +01:00
Kevin Cantu
7782f5d692
(core::str) remove len_bytes alias
2012-02-23 17:00:19 +01:00
Marijn Haverbeke
ffd50b9cdf
Make the various from_str functions return options
...
So that they can be used with user input without causing task
failures.
Closes #1335
2012-02-22 13:18:15 +01:00
Brian Anderson
4220dcf1e9
core: New task API
2012-02-20 18:58:04 -08:00
Brian Anderson
0438e6e924
bench: Add a test for task concurrency
2012-02-15 11:52:43 -08:00
Kevin Cantu
2b4f5136a5
(core::str) rename byte_len -> len_bytes and rename char_len -> len
2012-02-12 15:30:20 -08:00
Kevin Cantu
944f5a6598
(core::str) move push_byte, push_bytes, pop_byte, and shift_byte into str::unsafe
2012-02-12 15:30:20 -08:00
Marijn Haverbeke
50fb4c30ed
Increase precedence of as operator
...
Closes #1717
2012-02-09 11:58:08 +01:00
Brian Anderson
7c8d128e1f
bench: Add shootout-spectralnorm
2012-02-08 01:06:16 -08:00
Kevin Cantu
a3f5626ad1
String split renaming:
...
* Renamed str::split -> str::split_byte
* Renamed str::splitn -> str::splitn_byte
* Renamed str::split_func -> str::split
* Renamed str::split_char -> str::split_char
* Renamed str::split_chars_iter -> str::split_char_iter
* Added u8::is_ascii
* Fixed the behavior of str::split_str, so that it matches split_chars
and split (i.e. ["", "XXX", "YYY", ""] == split_str(".XXX.YYY.", "."))
* Fixed str::split_byte and str::splitn_byte so that they handle
splitting UTF-8 strings on a given UTF-8/ASCII byte and also handle ""
as the others do
2012-02-07 16:25:35 -08:00
Brian Anderson
30a671dc0c
bench: Tweak threadring benchmark so it pretty-prints
2012-02-04 20:34:51 -08:00
Brian Anderson
b4e221bf90
bench: Add threadring shootout benchmark
2012-02-04 20:01:55 -08:00
Brian Anderson
5d4b372902
Revert "bench: Add threadring shootout benchmark"
...
This reverts commit cdb246f832
.
2012-02-04 19:50:45 -08:00
Brian Anderson
cdb246f832
bench: Add threadring shootout benchmark
2012-02-04 18:00:59 -08:00
Ted Horst
9b46e875cc
add third arg for output path, default to no output
2012-02-03 20:49:14 -08:00
Ted Horst
63ae16f752
fix formatting
2012-02-03 20:49:14 -08:00
Ted Horst
e7738ca38b
add mandelbrot image generator from shootout
2012-02-03 20:49:13 -08:00
Tim Chevalier
e5d095d67e
Change option::t to option
...
Now that core exports "option" as a synonym for option::t, search-and-
replace option::t with option.
The only place that still refers to option::t are the modules in libcore
that use option, because fixing this requires a new snapshot
(forthcoming).
2012-01-31 17:05:20 -08:00
Brian Anderson
cad4918b2a
core: Remove sys::set_min_stack
...
This was a temporary hack with global effect. Eventually there will
be a real solution for controlling stack sizes.
2012-01-29 21:27:09 -08:00
Kevin Cantu
c7b23f9a86
Replacing str::unsafe_from_bytes with str::from_bytes (part 1)
2012-01-25 00:53:17 -08:00
Niko Matsakis
5e13d19cc0
s/block()/fn()/g
2012-01-23 19:06:33 -08:00
Niko Matsakis
5660b8bfb5
add msgsend.rs to benchmarks
2012-01-23 16:04:14 -08:00
Graham Fawcett
7763b40c71
issue #1352 : change param order on vec::init_elt, putting block in final position.
...
To match the init_fn() and init_fn_mut() changes.
2012-01-21 13:33:16 -08:00
Graham Fawcett
35d12be2ce
fix #1352 : change param order on vec::init_fn (and vec::init_fn_mut), putting block in final position.
2012-01-21 13:31:12 -08:00
Patrick Walton
59ebe6af18
rustc: Make the pretty printer output commas after enum variants. Update all tests accordingly.
2012-01-19 18:41:06 -08:00
Patrick Walton
1461cfe416
test: "tag" -> "enum" in bench
2012-01-19 16:11:17 -08:00
Tim Chevalier
5b028f527f
Remove support for the '.' after a nullary tag in a pattern
...
(Commit also includes lots of changes to remove '.'s that a git
merge messed up, or else it was monkeys.)
2012-01-19 01:04:59 -08:00
Tim Chevalier
04a2887f87
Remove '.' after nullary tags in patterns
...
Does what it says on the tin.
The next commit will remove support for this syntax.
2012-01-18 23:17:34 -08:00
Brian Anderson
7e6ce6637e
bench: Lower the default inputs on many shootout benchmarks
...
Make them run a bit faster during normal testing
2012-01-14 20:34:02 -08:00
Brian Anderson
1588ae204e
bench: Update shootout-nbody for style
2012-01-14 20:29:56 -08:00
Brian Anderson
93dcb9fb6b
bench: Update fannkuchredux for style
2012-01-14 20:13:03 -08:00
Brian Anderson
9c21673e3f
bench: Update shootout-binarytrees for style
2012-01-14 20:13:03 -08:00
Brian Anderson
c53d0a0af8
bench: Update shootout-ackermann for performance
2012-01-14 20:13:01 -08:00
Brian Anderson
492dba8bfe
bench: Update shootout-fibo for performance
2012-01-14 19:39:52 -08:00
Brian Anderson
c6f62b6374
bench: Update shootout-binarytrees to use unique boxes
...
Shared boxes have a huge performance overhead due to #1493
2012-01-14 17:02:51 -08:00
Niko Matsakis
3f3bfeec27
make "native fn" the type for bare functions, remove fn exprs
2012-01-13 06:27:35 -08:00
Marijn Haverbeke
d2be5b6c7a
Remove tests for objs, adjust tests that use objs
2012-01-13 11:52:13 +01:00
Marijn Haverbeke
34d7f05292
Major clean-up of std::io
...
Use ifaces instead of objs, stop wrapping everything in two (or three)
layers of no-value-added indirection, and remove some of the more
pointless/outdated idioms from the code.
2012-01-11 21:00:11 +01:00