Commit graph

697 commits

Author SHA1 Message Date
Sönke Ludwig 44f13592d3 Remove dead code. 2020-03-16 14:14:50 +01:00
Sönke Ludwig 968ac82c8d Use normal main() and avoid socket leak in test. 2020-03-16 14:14:50 +01:00
Sönke Ludwig 500385a303
Merge pull request #197 from vibe-d/task_priority_improvements
Task priority improvements
2020-03-16 14:13:59 +01:00
Sönke Ludwig 0b44d15045 Don't rely on a hard-coded port in test. 2020-03-15 14:01:18 +01:00
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