Remove dependency on `num_cpus`

finchie
Jul 12, 2023, 3:31 PM
DDJO7X2P2BAJSXPOE6ODKAJM7GRWKPT36WWTUZ373ZWQRYU4CFIAC

Dependencies

  • [2] 3SJ3DJNF Adding a --force option to `pijul add`, to include otherwise ignored files
  • [3] ISZ65SPQ Checking that `pijul apply` does not destroy unrecorded changes
  • [4] RFLKHQ2Y First read all stdin when applying a patch, in order to avoid blocking
  • [5] C3L2TLQW When downloading changes, check whether we have their dependencies and download them too
  • [6] EJ7TFFOW Re-adding Cargo.lock
  • [7] DFRNZLQ6 Fixing #798: overwrite check too strict in `pijul apply` when applying a patch adding new files
  • [8] FAOGX7G3 Outputting the repo after the last Git import
  • [9] S4LQTDJI avoid outputting repo multiple times in channel switch
  • [10] ISCWVXO6 Progress bar for push
  • [11] OU243LAB Support for staging
  • [12] SXEYMYF7 Fixing the bad changes in history (unfortunately, by rebooting).
  • [13] BNPSVXIC Friendlier progress bars
  • [14] YN63NUZO Sanakirja 1.0
  • [15] OJZWJUF2 MUCH faster `pijul add -r`
  • [16] ZHABNS3S Canonicalize all paths
  • [17] 5SLOJYHG Fixing the Git feature
  • [18] RG4YZPKL file_operations: remove the counter-intuitive --repository options
  • [19] I24UEJQL Various post-fire fixes
  • [20] VGBH3ED6 The Git feature does not need to be async
  • [21] G6UIBL6U Cleaner error handling for tag deserialization
  • [22] TYAKEAJL A better estimate of the maximum number of open patches we can keep (Unix-only at the moment)
  • [23] 2K7JLB4Z No pager on Windows
  • [24] A3RM526Y Integrating identity malleability
  • [25] 76PCXGML Pushing to, and pulling from the local repository
  • [26] XA23FMQM Reset only files that have been modified
  • [27] L2LPPKD4 Fixing the Git feature
  • [28] Q45QHPO4 Feedback on network stuff
  • [29] ZDQB72IK When running `pijul apply` with stdin, immediately quit if the channel does not exist
  • [30] RUBBHYZ7 Removing unnecessary async/await
  • [31] H72JG6HL Init feature; specific .ignore configs
  • [32] JL4WKA5P Implement the Sanakirja concurrency model in a cross-process way
  • [33] HSEYMLO2 Adding an untracked change iterator
  • [34] 4OCC6D42 Recursive add
  • [35] ZDK3GNDB Tag transactions (including a massive refactoring of errors)
  • [36] 6NUSIEGD Fixing concurrency issues in output, when large binary files are involved
  • [37] 26VQKD25 A more accurate safeguard for apply, to check if the output is nondestructive
  • [38] WW2EOFBB Umask in archives
  • [39] 2RXOCWUW Making libpijul deterministic (and getting rid of `rand`)
  • [40] FDEVV5NG Tag check
  • [41] 5DVRL6MF Hard-unrecord
  • [42] 5BB266P6 Optional colours in the global config file
  • [43] ZBNKSYA6 Fixing a bus error when starting a transaction on a full disk
  • [44] Y6EVFMTA Don't output files if they aren't in the current channel
  • [45] DX2FO4HZ Tag CLI cleanup
  • [46] V435QOJR Using path-slash to fix path issues on Windows
  • [47] ZRUPLBBT Colours in diff and change: separating concerns and dependencies
  • [48] EUZFFJSO Updating Pijul with the latest changes in Libpijul
  • [49] C4MJ7D7Q Verbose printing of conflicts to stderr
  • [50] MU5GSJAW Partial push and pull (WARNING: breaks the existing protocol)
  • [*] QL6K2ZM3 Tags

Change contents

  • replacement in pijul/src/repository.rs at line 30
    [9.14][9.14:44]()
    pub fn max_files() -> usize {
    [9.14]
    [9.44]
    pub fn max_files() -> std::io::Result<usize> {
  • replacement in pijul/src/repository.rs at line 32
    [9.122][9.122:174]()
    (n as usize / (2 * num_cpus::get())).max(1)
    [9.122]
    [9.174]
    (n as usize / (2 * std::thread::available_parallelism()?.get())).max(1)
  • replacement in pijul/src/repository.rs at line 37
    [9.241][9.241:247]()
    n
    [9.241]
    [9.247]
    Ok(n)
  • replacement in pijul/src/repository.rs at line 41
    [9.268][9.268:304]()
    pub fn max_files() -> usize {
    1
    [9.268]
    [9.304]
    pub fn max_files() -> std::io::Result<usize> {
    Ok(1)
  • replacement in pijul/src/repository.rs at line 101
    [9.421][9.421:469]()
    crate::repository::max_files(),
    [9.421]
    [9.469]
    max_files()?,
  • replacement in pijul/src/repository.rs at line 146
    [9.594][9.594:627]()
    max_files(),
    [9.594]
    [9.627]
    max_files()?,
  • replacement in pijul/src/remote/mod.rs at line 981
    [9.764][9.764:816]()
    crate::repository::max_files(),
    [9.764]
    [9.816]
    crate::repository::max_files()?,
  • replacement in pijul/src/remote/mod.rs at line 1066
    [9.952][9.952:1004]()
    crate::repository::max_files(),
    [9.952]
    [9.1004]
    crate::repository::max_files()?,
  • replacement in pijul/src/remote/local.rs at line 77
    [9.1126][9.1126:1170]()
    crate::repository::max_files(),
    [9.1126]
    [9.1170]
    crate::repository::max_files()?,
  • replacement in pijul/src/remote/local.rs at line 148
    [9.1284][9.1284:1328]()
    crate::repository::max_files(),
    [9.1284]
    [9.1328]
    crate::repository::max_files()?,
  • replacement in pijul/src/remote/local.rs at line 186
    [9.1402][9.1402:1431]()
    num_cpus::get(),
    [9.1402]
    [9.101]
    std::thread::available_parallelism()?.get(),
  • replacement in pijul/src/commands/unrecord.rs at line 154
    [9.5840][9.5840:5873]()
    num_cpus::get(),
    [9.5840]
    [9.197]
    std::thread::available_parallelism()?.get(),
  • replacement in pijul/src/commands/tag.rs at line 193
    [9.6730][9.6730:6767]()
    num_cpus::get(),
    [9.6730]
    [9.6767]
    std::thread::available_parallelism()?.get(),
  • replacement in pijul/src/commands/tag.rs at line 328
    [9.1141][9.1141:1166]()
    num_cpus::get(),
    [9.1141]
    [9.1166]
    std::thread::available_parallelism()?.get(),
  • replacement in pijul/src/commands/reset.rs at line 125
    [9.7839][9.7839:7876]()
    num_cpus::get(),
    [9.7839]
    [9.7876]
    std::thread::available_parallelism()?.get(),
  • replacement in pijul/src/commands/reset.rs at line 148
    [9.8707][9.0:43]()
    1, // num_cpus::get(),
    [9.8707]
    [9.294]
    1, // std::thread::available_parallelism()?.get(),
  • replacement in pijul/src/commands/reset.rs at line 215
    [9.381][9.381:422]()
    num_cpus::get(),
    [9.381]
    [9.422]
    std::thread::available_parallelism()?.get(),
  • replacement in pijul/src/commands/reset.rs at line 246
    [9.1348][9.1348:1389]()
    num_cpus::get(),
    [9.1348]
    [9.1389]
    std::thread::available_parallelism()?.get(),
  • replacement in pijul/src/commands/record.rs at line 335
    [9.1494][9.487:538]()
    1, // num_cpus::get(),
    [9.1494]
    [9.1494]
    1, // std::thread::available_parallelism()?.get(),
  • replacement in pijul/src/commands/record.rs at line 353
    [9.1810][9.539:582]()
    1, // num_cpus::get(),
    [9.1810]
    [9.1810]
    1, // std::thread::available_parallelism()?.get(),
  • replacement in pijul/src/commands/record.rs at line 371
    [2.23][9.583:622](),[9.107478][9.583:622]()
    1, // num_cpus::get(),
    [2.23]
    [9.622]
    1, // std::thread::available_parallelism()?.get(),
  • replacement in pijul/src/commands/pushpull.rs at line 574
    [9.16899][9.16899:16940]()
    num_cpus::get(),
    [9.16899]
    [9.675]
    std::thread::available_parallelism()?.get(),
  • replacement in pijul/src/commands/protocol.rs at line 370
    [9.490][9.18343:18376]()
    num_cpus::get(),
    [9.490]
    [9.827]
    std::thread::available_parallelism()?.get(),
  • replacement in pijul/src/commands/mod.rs at line 93
    [9.2103][9.18932:18957]()
    num_cpus::get(),
    [9.2103]
    [9.2103]
    std::thread::available_parallelism()?.get(),
  • replacement in pijul/src/commands/git.rs at line 106
    [8.545][8.545:582]()
    num_cpus::get(),
    [8.545]
    [8.582]
    std::thread::available_parallelism()?.get(),
  • replacement in pijul/src/commands/git.rs at line 476
    [9.129][9.2735:2764]()
    num_cpus::get(),
    [9.129]
    [9.847]
    std::thread::available_parallelism()?.get(),
  • replacement in pijul/src/commands/file_operations.rs at line 129
    [9.731][9.192:231](),[9.15930][9.192:231](),[9.19593][9.192:231](),[9.171507][9.192:231]()
    let threads = num_cpus::get();
    [9.15930]
    [9.648]
    let threads = std::thread::available_parallelism()?.get();
  • replacement in pijul/src/commands/diff.rs at line 83
    [9.174714][9.20216:20249]()
    num_cpus::get(),
    [9.174714]
    [9.174714]
    std::thread::available_parallelism()?.get(),
  • replacement in pijul/src/commands/diff.rs at line 100
    [2.120][9.321:354](),[9.175012][9.321:354]()
    num_cpus::get(),
    [2.120]
    [9.1467]
    std::thread::available_parallelism()?.get(),
  • replacement in pijul/src/commands/diff.rs at line 376
    [9.2387][9.2387:2422]()
    let threads = num_cpus::get();
    [9.2387]
    [9.2422]
    let threads = std::thread::available_parallelism()?.get();
  • replacement in pijul/src/commands/clone.rs at line 117
    [5.4041][5.4041:4080]()
    1, // num_cpus::get(),
    [5.4041]
    [5.4080]
    1, // std::thread::available_parallelism()?.get(),
  • replacement in pijul/src/commands/clone.rs at line 130
    [5.4472][5.4472:4515]()
    1, // num_cpus::get(),
    [5.4472]
    [5.4515]
    1, // std::thread::available_parallelism()?.get(),
  • replacement in pijul/src/commands/apply.rs at line 139
    [7.188][7.188:221]()
    continue
    [7.188]
    [7.221]
    continue;
  • replacement in pijul/src/commands/apply.rs at line 167
    [3.664][3.664:705]()
    num_cpus::get(),
    [3.664]
    [3.705]
    std::thread::available_parallelism()?.get(),
  • replacement in pijul/src/commands/apply.rs at line 181
    [3.1224][3.1224:1265]()
    num_cpus::get(),
    [3.1224]
    [3.1265]
    std::thread::available_parallelism()?.get(),
  • replacement in pijul/src/commands/apply.rs at line 203
    [9.3512][9.3512:3553]()
    num_cpus::get(),
    [9.3512]
    [9.3553]
    std::thread::available_parallelism()?.get(),
  • replacement in pijul/src/commands/apply.rs at line 219
    [9.3994][9.3994:4035]()
    num_cpus::get(),
    [9.3994]
    [9.4035]
    std::thread::available_parallelism()?.get(),
  • edit in pijul/src/commands/apply.rs at line 247
    [9.25009][4.0:1]()
  • resolve order conflict in pijul/src/commands/apply.rs at line 247
    [9.196360]
  • edit in pijul/Cargo.toml at line 97
    [9.2513][9.355:373](),[9.2859][9.355:373]()
    num_cpus = "1.13"
  • edit in Cargo.lock at line 2179
    [6.48415][6.48415:48428]()
    "num_cpus",