Compare commits

..
Author SHA1 Message Date
David Peter 85293b50fd Preserve 100-nanosecond precision in Windows CPU times 2026-10-05 11:15:01 +02:00
David Peter ecf8a24b1e Merge pull request #962 from sharkdp/codex/quantity-module-layout
Group units, formatting, and statistics under quantity
2026-10-05 11:04:56 +02:00
David Peter 975a25ce44 Merge pull request #961 from sharkdp/codex/uom-quantities
Use uom quantities for benchmark measurements
2026-10-05 10:47:07 +02:00
David Peter 9cdb9c4c50 Merge pull request #840 from sharkdp/dependabot/github_actions/actions/checkout-6
Bump actions/checkout from 5 to 6
2026-10-05 10:30:51 +02:00
dependabot[bot] ba98c8c44b Bump actions/checkout from 5 to 6
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-21 11:07:22 +00:00
3 changed files with 12 additions and 15 deletions

No files matched your search

+4 -4
View File
@@ -18,7 +18,7 @@ jobs:
name: Extract crate metadata
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- name: Extract crate information
id: crate_metadata
run: |
@@ -49,7 +49,7 @@ jobs:
- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- run: cargo fmt -- --check
min_version:
@@ -58,7 +58,7 @@ jobs:
needs: crate_metadata
steps:
- name: Checkout source code
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Install rust toolchain (v${{ needs.crate_metadata.outputs.msrv }})
uses: dtolnay/rust-toolchain@master
@@ -96,7 +96,7 @@ jobs:
BUILD_CMD: cargo
steps:
- name: Checkout source code
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Install prerequisites
shell: bash
+3 -1
View File
@@ -4,7 +4,9 @@ pub use uom::num_traits::Zero;
pub use uom::si::f64::{Information, Ratio, Time};
pub use uom::si::information::byte;
pub use uom::si::ratio::ratio;
pub use uom::si::time::{microsecond, nanosecond, second};
#[cfg(any(not(windows), test))]
pub use uom::si::time::microsecond;
pub use uom::si::time::{nanosecond, second};
pub use units::TimeUnit;
+5 -10
View File
@@ -27,9 +27,7 @@ use windows_sys::{
},
};
use crate::quantity::{microsecond, Information, Time, Zero};
const HUNDRED_NS_PER_MS: i64 = 10;
use crate::quantity::{nanosecond, Information, Time, Zero};
#[cfg(not(feature = "windows_process_extensions_main_thread_handle"))]
#[allow(non_upper_case_globals)]
@@ -108,17 +106,14 @@ impl CPUTimer {
// The `TotalUserTime` is "The total amount of user-mode execution time for
// all active processes associated with the job, as well as all terminated processes no
// longer associated with the job, in 100-nanosecond ticks."
let user: i64 = job_object_info.TotalUserTime / HUNDRED_NS_PER_MS;
let user_time = Time::new::<nanosecond>((job_object_info.TotalUserTime as f64) * 100.0);
// The `TotalKernelTime` is "The total amount of kernel-mode execution time
// for all active processes associated with the job, as well as all terminated
// processes no longer associated with the job, in 100-nanosecond ticks."
let kernel: i64 = job_object_info.TotalKernelTime / HUNDRED_NS_PER_MS;
(
Time::new::<microsecond>(user as f64),
Time::new::<microsecond>(kernel as f64),
Information::zero(),
)
let system_time =
Time::new::<nanosecond>((job_object_info.TotalKernelTime as f64) * 100.0);
(user_time, system_time, Information::zero())
} else {
(Time::zero(), Time::zero(), Information::zero())
}