Sönke Ludwig
d2b777607a
Use normal task priority when handling events.
...
Defining VibeHighEventPriority to revers to the old event scheduling priority.
2020-03-15 10:54:55 +01:00
Sönke Ludwig
1eebe7a9ce
Add TaskSwitchPriority to control the priority to use when transferring execution.
2020-03-15 10:54:35 +01:00
Sönke Ludwig
d07c2f02e6
Fix TaskQueue.insertBackPred.
2020-03-15 10:54:32 +01:00
Sönke Ludwig
280023dfc2
Avoid potential overflow for dynamic task priority.
2020-03-15 08:59:17 +01:00
The Dlang Bot
1f86470e4c
Merge pull request #196 from vibe-d/task_priorities
...
Implement priority based task scheduling.
merged-on-behalf-of: Leonid Kramer <l-kramer@users.noreply.github.com>
2020-03-15 08:00:42 +01:00
Sönke Ludwig
262b417794
Add TaskSettings overloads for runWorkerTaskDist(H).
2020-03-14 23:33:41 +01:00
Sönke Ludwig
a6bd4a0b1d
Fix regression test w.r.t. slightly changed semantics of schedule().
...
A single call to yield() (which calls schedule() once) is not sufficient anymore to guarantee that both tasks have run far enough.
2020-03-14 22:30:41 +01:00
The Dlang Bot
6ceb462ab6
Merge pull request #195 from vibe-d/fixes
...
Fixes
merged-on-behalf-of: Leonid Kramer <l-kramer@users.noreply.github.com>
2020-03-14 20:54:18 +01:00
Sönke Ludwig
6a2dfa468b
Implement priority based task scheduling.
...
1. Removes the marker task used by schedule() and instead limits the number of task resumptions to the initial length of the task queue
2. Assigns a static and a dynamic priority to each task. The dynamic priority starts with the same value as the static priority and gets incremented by the static priority each time the task gets overtaken by a higher priority task, eventually leading to the task becoming the highest priority (unless the static priority is zero). Tasks with a higher dynamic priority generally take precedence, unless the concurrency exceeds 10 scheduled tasks, in which case the front of the queue is scheduled in normal FIFO order.
2020-03-14 20:37:33 +01:00
Sönke Ludwig
0122e665db
Fix contract for Timer.rearm.
2020-03-14 19:47:29 +01:00
Sönke Ludwig
5010085340
Fix documentation of pipe().
2020-03-14 19:47:29 +01:00
Sönke Ludwig
6041347405
Fix deprecation warning.
2020-03-14 19:47:29 +01:00
Sönke Ludwig
3de7cb0042
Merge pull request #191 from vibe-d/correct_copyright
...
Correct copyright holder.
2020-01-27 21:04:21 +01:00
Sönke Ludwig
8e24c4a204
Correct copyright holder.
...
rejectedsoftware e.K. doesn't exist anymore since mid-2019.
2020-01-27 19:20:52 +01:00
Sönke Ludwig
699f43c80c
Update change log and bump version to 1.8.1.
2019-12-17 10:37:28 +01:00
Sönke Ludwig
8792e315a4
Merge pull request #186 from gedaiu/patch-1
...
Add a way to enforce that the GC is not running
2019-12-17 10:34:45 +01:00
Sönke Ludwig
0adbd6f523
Merge pull request #187 from Geod24/docs
...
Fix documentation warning on parameter
2019-12-17 09:37:49 +01:00
Geod24
9615ed1d5a
Fix documentation warning on parameter
2019-12-17 17:12:56 +09:00
Szabo Bogdan
7f5be316a1
Add a way to enforce that the GC is not running
2019-12-12 10:06:19 +01:00
Sönke Ludwig
4139cf746b
Bump version to 1.8.0.
2019-12-07 16:04:35 +01:00
Sönke Ludwig
2c59fffb91
Update change log.
2019-12-07 16:04:03 +01:00
Leonid Kramer
b35756af7e
Merge pull request #183 from vibe-d/test_macos
...
Test on macOS in addition to Linux/Windows.
2019-11-23 12:40:59 +01:00
Sönke Ludwig
71a2172edf
Increase directory watcher test sleep time on macOS (decrease on others).
2019-11-23 11:06:16 +01:00
Sönke Ludwig
d60b0e4b64
Skip LDC/macOS tests due to ldc-developers/ldc#2187 .
2019-11-22 20:52:54 +01:00
Sönke Ludwig
c717b88057
Increase test timeout tolerance on macOS.
2019-11-02 22:52:56 +01:00
Sönke Ludwig
f23b23f360
test kqueue instead of epoll on macos
2019-11-02 22:19:20 +01:00
Sönke Ludwig
5116ddbd57
Be more tolerant w.r.t. timing for macOS test due to CI VM timing issues.
2019-11-02 15:41:31 +01:00
Sönke Ludwig
bef1c57315
Allow a single FD to be "leaked" in the TCP connect leak test.
...
On macOS, the kqueue mechanism appears to create an internal FD that wrongly triggers the leak condition.
2019-11-02 14:56:57 +01:00
Sönke Ludwig
262385e429
Fix test script macOS bash compatibility.
2019-10-26 00:30:39 +02:00
Sönke Ludwig
9295988af3
Test on macOS in addition to Linux/Windows.
2019-10-26 00:30:39 +02:00
Sönke Ludwig
eeabae4794
Bump version to 1.8.0-alpha.2
2019-10-25 22:58:51 +02:00
Leonid Kramer
930660fc05
Merge pull request #181 from vibe-d/path_improvements
...
Path improvements
2019-10-25 21:08:08 +02:00
Leonid Kramer
8aae13b3c2
Merge pull request #182 from vibe-d/read_file_utf8_opt
...
Read file UTF-8 optimization
2019-10-25 20:58:05 +02:00
Sönke Ludwig
f56fd7580c
Avoid reallocating the data in readFileUTF8 if the UTF encoding is valid.
...
Uses the immutable overload of sanitizeUTF8 to reuse the original buffer if possible.
2019-10-22 11:41:35 +02:00
Sönke Ludwig
2e4bc6a316
Improve performance of sanitizeUTF8/readFileUTF8.
...
Uses std.encoding.sanitize, which returns the original string, if all code points are properly encoded. Note that the performance could still be improved considerably by iterating over multiple bytes at once, fast skipping over characters that don't have the most significant bit set.
2019-10-22 11:40:23 +02:00
Sönke Ludwig
07c7bb88a9
Make the range returned by bySegment2 a Voldemort type.
...
Declaring it as a public symbol just introduces API maintenance burden without a real benefit.
2019-10-22 11:30:54 +02:00
Sönke Ludwig
6985e8dcb4
Add GenericPath.byPrefix.
...
Allows successively iterating over ancestor paths in O(n) complexity and with no dynamic memory allocations.
2019-10-22 11:30:53 +02:00
Sönke Ludwig
81ba969fd6
Reduce log noise for worker tasks.
2019-10-22 11:30:31 +02:00
Sönke Ludwig
2bf660a529
Bump version to 1.8.0-alpha.1.
2019-09-27 17:37:43 +02:00
The Dlang Bot
b976519057
Merge pull request #180 from vibe-d/fix_yieldlock_destruction
...
Make sure that an uninitialized YieldLock does not decrement the lock counter
merged-on-behalf-of: Sönke Ludwig <s-ludwig@users.noreply.github.com>
2019-09-27 16:51:56 +02:00
Sönke Ludwig
aae2c28ef6
Make sure that an uninitialized YieldLock does not decrement the lock counter.
...
Uninitialized YieldLock values can happen in various ways, dispite the default constructor being disabled. If any such value got destroyed, it would lead to a negative lock count. Since this is handled properly now, the default constructor is also enabled in this commit.
2019-09-27 15:09:06 +02:00
Leonid Kramer
24a83434e4
Merge pull request #179 from vibe-d/path_optimization
...
Add a nogc path segment API
2019-09-26 11:54:36 +02:00
Leonid Kramer
09eb24c5f6
Merge pull request #178 from vibe-d/drop_spinlock
...
Remove SpinLock and use core.sync.mutex.Mutex instead.
2019-09-26 10:37:37 +02:00
Sönke Ludwig
645896bcfd
Use bySegment2 instead of bySegment for high-level functionality.
2019-09-19 15:33:00 +02:00
Sönke Ludwig
6ef53121ad
Add GenericPath.bySegment2 and .head2 as fully nogc alternatives.
2019-09-19 15:32:59 +02:00
Sönke Ludwig
32858b7aee
Rework the path segment encoding/decoding API.
...
- Deprecates Format.decodeSegment (returning a range of GemericPath.Segment) and added decodeSingleSegment instead, which returns a string instead.
- Adds Format.encodeSegment to encode a single path segment
2019-09-19 15:32:59 +02:00
Sönke Ludwig
5640516ba8
Remove SpinLock and use core.sync.mutex.Mutex instead.
...
The places that used it showed too much contention in load tests, so that the spin lock was more expensive that the regular OS mutex/futex.
2019-09-19 11:25:14 +02:00
Sönke Ludwig
591ab4a944
Merge pull request #177 from vibe-d/prepare_release
...
Prepare for 1.7.0 release
2019-09-17 23:40:53 +02:00
Sönke Ludwig
04be22b00e
Bump version number.
2019-09-17 19:37:13 +02:00
Sönke Ludwig
b775351e74
Update change log.
2019-09-17 19:37:13 +02:00