1use fs::Fs;
2use gpui::{AppContext, Application};
3fn main() {
4 let Some(path_to_read) = std::env::args().nth(1) else {
5 println!("Expected path to read as 1st argument.");
6 return;
7 };
8
9 let _ = Application::headless().run(|cx| {
10 let fs = fs::RealFs::new(None, cx.background_executor().clone());
11 cx.background_spawn(async move {
12 let timer = std::time::Instant::now();
13 let result = fs.load_bytes(path_to_read.as_ref()).await;
14 let elapsed = timer.elapsed();
15 if let Err(e) = result {
16 println!("Failed `load_bytes` after {elapsed:?} with error `{e}`");
17 } else {
18 println!("Took {elapsed:?} to read {} bytes", result.unwrap().len());
19 };
20 let timer = std::time::Instant::now();
21 let result = fs.metadata(path_to_read.as_ref()).await;
22 let elapsed = timer.elapsed();
23 if let Err(e) = result {
24 println!("Failed `metadata` after {elapsed:?} with error `{e}`");
25 } else {
26 println!("Took {elapsed:?} to query metadata");
27 };
28 std::process::exit(0);
29 })
30 .detach();
31 });
32}