Walter Bright
380ae65511
remove empty statements
2011-12-29 00:05:45 -08:00
k-hara
17e87a472d
Revert "Revert "Merge pull request #284 from 9rnsr/fix6208_on_inout""
...
This reverts commit fef20ede25
.
2011-12-15 17:34:09 +09:00
David Simcha
9d151ac1f9
Make Task.base public because it doesn't work anymore on 2.057 if it's private.
2011-12-09 12:09:15 -05:00
Denis Shelomovskij
e8712ed9e1
Documentation and struct staticness in std.algorithm fixes
2011-11-14 17:10:19 +03:00
k-hara
fef20ede25
Revert "Merge pull request #284 from 9rnsr/fix6208_on_inout"
...
This change will be required after finxing bug6208.
This reverts commit e669812d26
, reversing
changes made to 5ffd5b34e8
.
2011-10-13 12:44:45 +09:00
k-hara
42324e028b
fix6208 on inout
2011-10-02 22:08:46 +09:00
dsimcha
9d216b9b64
Fix segfault on terminating daemon threads in std.parallelism.
2011-09-14 23:07:26 -04:00
David Simcha
dea92be80f
Trivial 64-bit fix.
2011-09-04 00:41:41 -03:00
David Simcha
d9dee79403
Get rid of blank line.
2011-09-04 00:30:38 -03:00
dsimcha
bac1951c82
Fix some formatting issues, add back a compile time check to Map (again, I have no idea when/how it got removed).
2011-09-03 23:26:55 -04:00
dsimcha
e357f1afcc
Fix Bug 6587: Task doesn't work with const/immutable.
2011-09-03 11:24:31 -04:00
dsimcha
ad78c48059
De-cruftification, removal of confusing/ugly stuff that existed for reasons that no longer apply. Changes to implementation details only.
2011-09-02 00:15:56 -04:00
David Simcha
a6d51dbeee
Fix trivial error in safe scoped tasks. I guess noone uses these if it went undetected for so long.
2011-09-01 10:37:41 -03:00
dsimcha
b9a8eea8ec
Add tests for exception handling, clarify a detail of how it's handled for asyncBuf and map.
2011-09-01 01:23:03 -04:00
dsimcha
aff1024741
Remove nonsensical line that created subtle exception chaining bug and was put in while debugging.
2011-08-29 20:38:21 -04:00
dsimcha
31b3b8e0f3
Add back buffer swapping optimization and check to parallel foreach that I forgot about during all the refactoring.
2011-08-25 01:01:32 -04:00
dsimcha
aac4f669db
Massive improvements to the implementation of parallel foreach and amap. When working on std.parallel_algorithm, I discovered a way of doing these that was so much simpler, more elegant, more efficient and less bug-prone that I wanted to completely rip up the old implementation. Also, a few minor cleanups:
...
1. amap now can use any random access assignable range for output, not just an array.
2. map now statically disallows the buffer recycling overload of asyncBuf as input, since this never worked correctly.
3. Improved memory management for reduce to avoid the GC.
2011-08-24 22:10:54 -04:00
dsimcha
bbaa7e1f7a
Clarify the buffer recycling of the new load of std.parallelism.asyncBuf and disallow using this overload with map because it's not safe. At some point it may be possible to special-case this overload of asyncBuf to work with map and parallel foreach, but until I decide what the best way to do that is and get around to implementing it, it should just be an error.
2011-08-18 10:11:19 -04:00
dsimcha
097bc05491
Fix unittest pursuant to Andrei's comments.
2011-08-14 00:19:16 -04:00
dsimcha
40664e473a
Attempt 2: Add an asyncBuf overload for the case where data is being read into a buffer, and the buffer is to be recycled instead of reallocated. An example of this is by-line or by-chunk file I/O. Also fix two related edge-case bugs in TaskPool.map and the other overload of TaskPool.asyncBuf.
2011-08-13 23:46:51 -04:00
dsimcha
3d5e64ae1e
Revert "Add an asyncBuf overload for the case where data is being read into a buffer, and the buffer is to be recycled instead of reallocated. An example of this is by-line or by-chunk file I/O. Also fix two related edge-case bugs in TaskPool.map and the other overload of TaskPool.asyncBuf."
...
This reverts commit 382380cff9
.
Conflicts:
std/parallelism.d
2011-08-13 23:40:38 -04:00
dsimcha
67223d7a12
Merge branch 'master' of https://github.com/D-Programming-Language/phobos
2011-08-13 23:29:24 -04:00
jmdavis
0ec7697819
Fixed enum values in std.traits to follow Phobos naming conventions.
2011-08-13 00:14:13 -07:00
dsimcha
310e36cb89
Put the static assert in the right place.
2011-08-09 21:38:34 -04:00
dsimcha
382380cff9
Add an asyncBuf overload for the case where data is being read into a buffer, and the buffer is to be recycled instead of reallocated. An example of this is by-line or by-chunk file I/O. Also fix two related edge-case bugs in TaskPool.map and the other overload of TaskPool.asyncBuf.
2011-08-09 21:33:39 -04:00
David Simcha
5579b99149
Fix a typo in the std.parallelism docs.
2011-08-08 12:26:37 -03:00
dsimcha
0eef9059dd
Made std.parallelism.TaskPool.workerIndex public and documented.
2011-08-06 11:38:15 -04:00
David Simcha
1ed022b7ae
This really should be private.
2011-07-19 11:31:19 -07:00
David Simcha
0aa531b842
Re-comment the @disable line because somehow the NRVO patch still didn't fix it.
2011-07-16 16:12:35 -07:00
David Simcha
8875d02c44
Uncomment Task's disabled copy constructor and remove bug documentation now that full spec NRVO is implemented.
2011-07-16 16:00:34 -07:00
jmdavis
302323559a
Revert "not really pure"
...
This reverts commit 4f28db6ffb
.
Since Walter put weakly pure back in, these changes need to be undone.
Conflicts:
std/datetime.d
2011-07-07 01:40:07 -07:00
dsimcha
d204bdbe93
Merge branch 'master' of https://github.com/D-Programming-Language/phobos
2011-07-04 13:33:19 -04:00
Walter Bright
4f28db6ffb
not really pure
2011-06-25 19:58:09 -07:00
dsimcha
b078bdb02a
Remove one more synchronized{ lock from std.parallelism and replace with synchronized(TaskPool.classinfo). It looks like there's a bug somewhere in the initialization code and I'm suspicious that synchronized{} blocks that don't explicitly synchronize on a class are somehow buggy.
2011-06-15 23:12:12 -04:00
dsimcha
ba114906ea
Make std.parallelism unittests compile on 64-bit again.
2011-06-08 22:54:35 -04:00
dsimcha
5a3761baac
Remove all use of Appender and global anonymous locks from the std.parallelism unittests to see if that's what's causing the sporadic erratic behavior.
2011-06-08 22:46:23 -04:00
dsimcha
58656cd76f
Fix some unlisted bugs in std.parallelism.
2011-06-02 09:24:47 -04:00
dsimcha
91263d7606
ILP optimizations should be enabled even in single core case.
2011-05-24 23:39:51 -04:00
dsimcha
e7158f71c4
...And one more that I forgot.
2011-05-23 21:21:20 -04:00
dsimcha
43145ec4f6
Fix a few WTFs as suggested by Andrei's code review. No functionality changes.
2011-05-23 21:16:12 -04:00
dsimcha
2b202ca812
ILP optimizations for reduce.
2011-05-22 23:45:23 -04:00
dsimcha
4177f2f636
A few hard-won microseconds shaved off the break-even point for amap, reduce and parallel foreach. This commit also adds some stuff to the unittests to make the intermittently failing FreeBSD build hopefully fail more often.
2011-05-21 10:48:14 -04:00
dsimcha
d4f9af8a2d
Merge branch 'master' of https://github.com/dsimcha/phobos
2011-05-06 08:45:39 -04:00
dsimcha
26712f2c8b
Fix subtle race condition in std.parallelism by using heap instead of stack to hold key shared state in parallel foreach and amap implementations.
2011-05-06 08:44:12 -04:00
dsimcha
8ad627b414
Fix subtle race condition in std.parallelism by using heap instead of stack to hold key shared state in parallel foreach and amap implementations.
2011-05-06 00:03:08 -04:00
dsimcha
a15e680a98
Accidentally committed with a bunch of debugging code.
2011-05-01 21:30:39 -04:00
dsimcha
4447850d5f
Fix a "benign bug". This one doesn't have any observable symptoms but looks like a bug when reading the code and causes some minor inefficiencies.
2011-05-01 21:26:44 -04:00
dsimcha
504b860683
Small refactorings/fixes/optimizations made in passing while tracking down the Heisenbug.
2011-05-01 12:08:15 -04:00
dsimcha
c6a061815e
Change the CPU print statement to stderr to make sure it's not buffered. This will make sure the failures on FreeBSD really are occurring before any new threads are started.
2011-04-27 09:30:23 -04:00
dsimcha
c40e541f08
This might explain the weird segfaults. The old code shouldn't have compiled even though it did. (Compiler bug?)
2011-04-27 08:53:47 -04:00