From fe796162c7494182a7f48807cc205b455df053e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Cipriani=20Bandarra?= Date: Fri, 30 Jan 2026 19:31:59 +0000 Subject: [PATCH] Use u64 instead of usize for durations, counts, and sizes usize is platform-dependent (32-bit on 32-bit targets). Nanosecond durations can exceed u32::MAX in ~4.3 seconds, and model sizes in bytes can easily exceed 4 GiB. Using u64 ensures correctness across all platforms. Changed fields: - GenerateResponse: total_duration, load_duration, prompt_eval_count, prompt_eval_duration, eval_count, eval_duration - Model: size - RunningModel: size, size_vram --- src/types/generate.rs | 12 ++++++------ src/types/ps.rs | 4 ++-- src/types/tags.rs | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/types/generate.rs b/src/types/generate.rs index b2d9b1f..26de1a4 100644 --- a/src/types/generate.rs +++ b/src/types/generate.rs @@ -137,20 +137,20 @@ pub struct GenerateResponse { pub done_reason: Option, /// Time spent generating the response in nanoseconds - pub total_duration: Option, + pub total_duration: Option, /// Time spent loading the model in nanoseconds - pub load_duration: Option, + pub load_duration: Option, /// Number of input tokens in the prompt - pub prompt_eval_count: Option, + pub prompt_eval_count: Option, /// Time spent evaluating the prompt in nanoseconds - pub prompt_eval_duration: Option, + pub prompt_eval_duration: Option, /// Number of output tokens generated in the response - pub eval_count: Option, + pub eval_count: Option, /// Time spent generating tokens in nanoseconds - pub eval_duration: Option, + pub eval_duration: Option, } diff --git a/src/types/ps.rs b/src/types/ps.rs index ebbc228..b5f735c 100644 --- a/src/types/ps.rs +++ b/src/types/ps.rs @@ -11,10 +11,10 @@ pub struct PsResponse { pub struct RunningModel { pub name: String, pub model: String, - pub size: usize, + pub size: u64, pub digest: String, pub details: ModelDetails, pub expires_at: String, - pub size_vram: usize, + pub size_vram: u64, pub context_length: u32, } diff --git a/src/types/tags.rs b/src/types/tags.rs index 6268623..90e209d 100644 --- a/src/types/tags.rs +++ b/src/types/tags.rs @@ -12,7 +12,7 @@ pub struct Model { pub name: String, pub model: String, pub modified_at: String, - pub size: usize, + pub size: u64, pub digest: String, pub details: ModelDetails, }