Load all builtin targets at once instead of one by one
This should give us some performance improvements as we won't need to do the lookup for the _currently_ 287 targets we have.
This commit is contained in:
parent
3f33b30e19
commit
6ec3cf9abc
2 changed files with 15 additions and 6 deletions
|
@ -1662,6 +1662,14 @@ macro_rules! supported_targets {
|
|||
Some(t)
|
||||
}
|
||||
|
||||
fn load_all_builtins() -> impl Iterator<Item = Target> {
|
||||
[
|
||||
$( targets::$module::target, )+
|
||||
]
|
||||
.into_iter()
|
||||
.map(|f| f())
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
// Cannot put this into a separate file without duplication, make an exception.
|
||||
|
@ -3360,6 +3368,11 @@ impl Target {
|
|||
}
|
||||
}
|
||||
|
||||
/// Load all built-in targets
|
||||
pub fn builtins() -> impl Iterator<Item = Target> {
|
||||
load_all_builtins()
|
||||
}
|
||||
|
||||
/// Search for a JSON file specifying the given target tuple.
|
||||
///
|
||||
/// If none is found in `$RUST_TARGET_PATH`, look for a file called `target.json` inside the
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue