Sönke Ludwig
7912905c7f
Make GenericPath.Segment(2).opCast const.
2021-02-13 18:09:13 +01:00
Leonid Kramer
38a50dde8e
Merge pull request #251 from vibe-d/path_opt
...
InetPath optimization
2021-01-20 15:04:39 +01:00
Sönke Ludwig
9f73049196
Use path format specific separator for root prefix segment.
...
Fixes format invariant checks for formats that do not use "/" as a path separator.
2021-01-19 10:34:43 +01:00
Sönke Ludwig
246b5262c6
Avoid among switch-case jump table overhead for just two possible values.
2021-01-19 10:34:43 +01:00
Sönke Ludwig
dc0fe5ad73
Apply the same optimization to InetPathFormat.encodeSegment.
2021-01-19 10:30:28 +01:00
Sönke Ludwig
4bb5fc9ce8
Optmize InetPathFormat.validatePath.
...
Speeds up the check by roughly 4x.
2021-01-19 10:30:28 +01:00
Sönke Ludwig
4c9e2e7fac
Merge pull request #250 from Geod24/github-actions
...
Add a workflow to test on Musl
2021-01-18 16:17:19 +01:00
Geod24
655dfcd268
Add a workflow to test on Musl
2021-01-18 23:34:33 +09:00
Sönke Ludwig
397527a0a1
Merge pull request #249 from vibe-d/fix_listdir_posix
...
Fix compilation of the directory iteration code on additional POSIX based platforms
2021-01-18 14:38:21 +01:00
Sönke Ludwig
69444da9a3
Work around missing AT_SYMLINK_NOFOLLOW declaration for Musl.
2021-01-18 14:30:33 +01:00
Sönke Ludwig
59912a7f21
Fix compilation of the directory iteration code on additional POSIX based platforms.
2021-01-18 14:30:33 +01:00
Sönke Ludwig
bb6e36429c
Bump version to 1.13.0.
2021-01-15 21:35:13 +01:00
Sönke Ludwig
d02d030ce3
Update change log.
2021-01-15 20:28:08 +01:00
Sönke Ludwig
d141ce256d
Merge pull request #246 from vibe-d/path_extension
...
Add extension and stripExtension functions
2021-01-15 18:57:21 +01:00
Leonid Kramer
f3f9c20af7
Merge pull request #247 from vibe-d/parallel_map
...
Implement parallelMap and parallelUnorderedMap
2021-01-15 18:39:04 +01:00
Sönke Ludwig
762ababa4d
Add Segment2.extension and .withoutExtension properties.
...
Also adds GenericPath.fileExtension as a shortcut for `path.head2.extension`.
2021-01-15 18:25:20 +01:00
Sönke Ludwig
14bbc4bdec
Add GenericPath.normalized property.
2021-01-15 18:25:19 +01:00
Sönke Ludwig
d4ec266f76
Implement parallelMap and parallelUnorderedMap.
2021-01-15 00:54:49 +01:00
Sönke Ludwig
353948d426
Add workerTaskPool property to access the default task pool.
2021-01-14 22:21:50 +01:00
Sönke Ludwig
2be696fe01
Add static assertion error message.
2021-01-14 10:43:36 +01:00
Sönke Ludwig
7bc5606ac7
Bump version to 1.12.0.
...
Since this adds features, a new minor version is required.
2021-01-12 21:16:43 +01:00
Sönke Ludwig
bf947f80e7
Merge pull request #245 from vibe-d/release_preparation
...
Release preparation
2021-01-12 21:14:46 +01:00
Sönke Ludwig
20daa73385
Bump version to 1.11.4.
2021-01-12 20:56:31 +01:00
Sönke Ludwig
7c0554180d
Remove OPTLINK configurations, following eventcore.
2021-01-12 20:56:31 +01:00
Sönke Ludwig
634c6c5422
Update change log.
2021-01-12 20:56:31 +01:00
Leonid Kramer
58f6b06e2d
Merge pull request #244 from vibe-d/osx_listdirectory_fix
...
Add `DirectoryListMode.shallowDirectories` and fix macOS `fstatat` declaration
2021-01-12 20:01:21 +01:00
Sönke Ludwig
874e56ccac
Add a basic sanity check test for listDirectory and test extended UTF-8 characters.
2021-01-12 17:42:32 +01:00
Sönke Ludwig
5e6231c738
Fix zero byte index computation.
2021-01-12 17:38:32 +01:00
Sönke Ludwig
ca1fe41421
Add DirectoryListMode.shallowDirectories.
...
Shallow iteration, returning only directories. DirectoryListMode is now defined using bit combinations for "recursive" and "directories-only".
2021-01-12 17:37:02 +01:00
Sönke Ludwig
d1273ca08b
Fix the declaration of fstatat on macOS.
...
Was referencing the classic declaration that doesn't fit the current stat struct, leading to wrong stat results.
2021-01-12 17:37:02 +01:00
Sönke Ludwig
df03416eea
Reduce visibility of minor debug log message.
2021-01-12 17:37:01 +01:00
Leonid Kramer
ff4c9851c7
Merge pull request #243 from vibe-d/parallel_pipe_improvement
...
Allow the buffer to grow for PipeMode.concurrent.
2021-01-12 14:52:49 +01:00
Sönke Ludwig
3e45456bf3
Allow the buffer to grow for PipeMode.concurrent.
...
Reduces overhead for fast streams by increasing the buffer size up to 4MB, as long as the latency stays below 100ms.
2021-01-12 14:40:36 +01:00
Leonid Kramer
0b6aa0d24c
Merge pull request #242 from vibe-d/rework_list_directory
...
Rework the listDirectory implementation
2021-01-12 11:30:49 +01:00
Leonid Kramer
6b6504b8c2
Merge pull request #241 from vibe-d/low_overhead_channel
...
Introduce ChannelConfig/ChannelPriority.
2021-01-12 11:30:03 +01:00
Sönke Ludwig
1f0ac47b9d
Rework the listDirectory implementation.
...
- Directly uses OS facilities instead of Phobos to avoid string processing overhead and to enable fast skipping of non-directories
- Introduces a DirectoryListMode, similar to SpanMode
- Uses low-overhead channels to reduce the communication overhead between the calling thread and the worker thread that calls the OS
- Adds FileInfo.path to properly support the new recursive directory iteration schemes
2021-01-12 10:55:29 +01:00
Sönke Ludwig
b6ed92e8b5
Introduce ChannelConfig/ChannelPriority.
...
Adds a low-overhead mode to Channel!T that causes the buffer to be fully processed before notifying waiting peers instead of notifying immediately once data/space is available. This heavily reduces the overhead of cross-task/thread notifications at the expense of introducing processing latency and requiring a call to close() to guarantee that all data has been processed.
2021-01-12 10:55:12 +01:00
Sönke Ludwig
9980eae7a5
Fix intermittent unit test crash at shutdown.
...
Sometimes crashed on macos when the logger instance was reaped at runtime shutdown time.
2021-01-12 10:55:12 +01:00
Sönke Ludwig
3fbc8bb397
Fix deprecation warning.
2021-01-12 10:55:12 +01:00
Sönke Ludwig
05bc56dbba
Bump version to 1.11.3.
2020-12-18 16:21:54 +01:00
Sönke Ludwig
3c4ac8b8df
Update change log.
2020-12-18 16:21:44 +01:00
Leonid Kramer
0c1ea531b8
Merge pull request #240 from vibe-d/fix_worker_task_scheduling
...
Fix a worker task scheduling issue for busy worker tasks.
2020-12-18 15:31:05 +01:00
Sönke Ludwig
f8a6044dba
Avoid modern contract syntax.
2020-12-18 14:11:29 +01:00
Sönke Ludwig
ade765d6bd
Fix a worker task scheduling issue for busy worker tasks.
...
Fixes new tasks being able to be scheduled on a worker thread while a busy task (that periodically calls yield()) is running.
2020-12-15 19:43:20 +01:00
Sönke Ludwig
0bd78a1a95
Bump version to 1.11.2.
2020-12-12 10:56:46 +01:00
Sönke Ludwig
1fae2a26a5
Update change log.
2020-12-12 10:48:31 +01:00
Sönke Ludwig
34703d412d
Make ScopedMutexLock nothrow.
...
Wrong order of lock/unlock calls are programming errors and should be treated as such.
2020-12-12 10:11:17 +01:00
Sönke Ludwig
ba6c058148
Add some more VibeTaskLog logging.
2020-12-10 09:22:38 +01:00
Sönke Ludwig
e018e161e7
Merge pull request #239 from vibe-d/fix_windows_direcory_lock
...
Fix bogus file access denied error after listDirectory calls on Windows
2020-12-02 21:31:22 +01:00
Sönke Ludwig
a9ba6d98cb
Fix bogus file access denied error after listDirectory calls on Windows.
...
Makes sure that `FindClose` gets called before `listDirectory` returns to avoid a race-condition, where a successive modification of the directory fails with "access denied".
2020-12-01 19:23:05 +01:00