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