diff --git a/CHANGELOG.md b/CHANGELOG.md index 28e56e34b3..8b29f3f222 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ - Fix handling of inputs with OSC ANSI escape sequences, see #2541 and #2544 (@eth-p) - Fix handling of inputs with combined ANSI color and attribute sequences, see #2185 and #2856 (@eth-p) - Fix panel width when line 10000 wraps, see #2854 (@eth-p) +- Only start offload worker thread when there's more than 1 core #2956 (@cyqsimon) ## Other diff --git a/src/bin/bat/app.rs b/src/bin/bat/app.rs index 6fc853219f..25720cb22c 100644 --- a/src/bin/bat/app.rs +++ b/src/bin/bat/app.rs @@ -2,6 +2,7 @@ use std::collections::HashSet; use std::env; use std::io::IsTerminal; use std::path::{Path, PathBuf}; +use std::thread::available_parallelism; use crate::{ clap_app, @@ -125,7 +126,9 @@ impl App { // start building glob matchers for builtin mappings immediately // this is an appropriate approach because it's statistically likely that // all the custom mappings need to be checked - syntax_mapping.start_offload_build_all(); + if available_parallelism()?.get() > 1 { + syntax_mapping.start_offload_build_all(); + } if let Some(values) = self.matches.get_many::("ignored-suffix") { for suffix in values {