Conversation
Followup to a9f021c
Improve performance
This reverts commit 5381395.
* Added logo of Minimal System * Changed to spaces instead of tabs * Removed paddings for minimal.txt * Changed Co-authored-by: Carter Li <CarterLi@users.noreply.github.com> --------- Co-authored-by: Carter Li <CarterLi@users.noreply.github.com>
... when `--gpu-driver-specific` is not set. Supported on Windows 10 and later
Supported on Windows 11 only
An interesting website
* going back to xray_os * going back to xray_os --------- Co-authored-by: xray_os <xray_os>
Like what `Disk` has
to control number of digits to print when formatting ordinary fraction numbers
It makes no sense.
There was a problem hiding this comment.
Pull Request Overview
This is a release PR for version 2.48.0, containing significant improvements across multiple modules including GPU detection on Windows, OS detection for Fedora variants, performance optimizations for child process spawning, and new time-based formatting features.
Key changes:
- Enhanced GPU detection on Windows with improved type detection and frequency support
- Added Fedora variant detection (CoreOS, Kinoite, Sericea, Silverblue)
- Performance improvements using posix_spawn instead of fork-exec on Unix systems
- New time formatting placeholders (years, days-of-year, years-fraction) for Disk, Users, and Uptime modules
Reviewed Changes
Copilot reviewed 45 out of 46 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| CMakeLists.txt | Version bump to 2.48.0 and build system improvements |
| src/util/FFstrbuf.c | Added ffStrbufTrimLeftSpace function implementation |
| src/util/FFstrbuf.h | Added ffStrbufTrimLeftSpace declaration and ffStrbufTrimSpace inline function |
| src/detection/gpu/gpu_windows.c | Major refactor using CM API instead of SetupAPI with improved GPU detection |
| src/common/processing_linux.c | Replaced fork-exec with posix_spawn for better performance |
| src/detection/os/os_linux.c | Added Fedora variant detection logic |
| src/options/display.c | Added fraction-ndigits configuration option |
| tests/strbuf.c | Added test cases for TrimSpace functionality |
| @@ -305,7 +305,7 @@ const char* ffDrmDetectAsahi(FFGPUResult* gpu, int fd) | |||
| struct drm_asahi_params_global paramsGlobal = {}; | |||
| if (ioctl(fd, DRM_IOCTL_ASAHI_GET_PARAMS, &(struct drm_asahi_get_params) { | |||
| .param_group = DRM_ASAHI_GET_PARAMS, | |||
There was a problem hiding this comment.
[nitpick] The cast to uintptr_t is correct for storing a pointer value in an integer field, but consider adding a comment explaining why this cast is necessary for the DRM ioctl interface.
| .param_group = DRM_ASAHI_GET_PARAMS, | |
| .param_group = DRM_ASAHI_GET_PARAMS, | |
| // The DRM ioctl interface requires pointers to be passed as integer values (uintptr_t). |
| while((device = getmntent(mountsFile))) | ||
| { | ||
| if (__builtin_expect(options->folders.length, 0)) | ||
| if (__builtin_expect(options->folders.length > 0, false)) |
There was a problem hiding this comment.
[nitpick] The condition change from 'options->folders.length' to 'options->folders.length > 0' is good for clarity, but using 'false' instead of '0' for the unlikely hint is inconsistent with typical GCC builtin usage where integer constants are preferred.
| if (__builtin_expect(options->folders.length > 0, false)) | |
| if (__builtin_expect(options->folders.length > 0, 0)) |
No description provided.