mirror of
https://git.tukaani.org/xz.git
synced 2024-04-04 12:36:23 +02:00
b0063023f8
compressing and decompressing. This should be OK now that xz automatically scales down the compression settings if they would exceed the memory usage limit (earlier, the limit for compression was increased to 90 % because low limit broke scripts that used "xz -9" on systems with low RAM). Support spcifying the memory usage limit as a percentage of RAM (e.g. --memory=50%). Support --threads=0 to reset the thread limit to the default value (number of available CPU cores). Use UINT32_MAX instead of SIZE_MAX as the maximum in args.c. hardware.c was already expecting uint32_t value. Cleaned up the output of --help and --long-help.
35 lines
1.2 KiB
C
35 lines
1.2 KiB
C
///////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
/// \file hardware.h
|
|
/// \brief Detection of available hardware resources
|
|
//
|
|
// Author: Lasse Collin
|
|
//
|
|
// This file has been put into the public domain.
|
|
// You can do whatever you want with this file.
|
|
//
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
/// Initialize some hardware-specific variables, which are needed by other
|
|
/// hardware_* functions.
|
|
extern void hardware_init(void);
|
|
|
|
|
|
/// Set custom value for maximum number of coder threads.
|
|
extern void hardware_threadlimit_set(uint32_t threadlimit);
|
|
|
|
/// Get the maximum number of coder threads. Some additional helper threads
|
|
/// are allowed on top of this).
|
|
extern uint32_t hardware_threadlimit_get(void);
|
|
|
|
|
|
/// Set custom memory usage limit. This is used for both encoding and
|
|
/// decoding. Zero indicates resetting the limit back to defaults.
|
|
extern void hardware_memlimit_set(uint64_t memlimit);
|
|
|
|
/// Set custom memory usage limit as a percentage of installed RAM.
|
|
/// The percentage must be in the range [1, 100].
|
|
extern void hardware_memlimit_set_percentage(uint32_t percentage);
|
|
|
|
/// Get the current memory usage limit.
|
|
extern uint64_t hardware_memlimit_get(void);
|