File size: 1,382 Bytes
be99550
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#[path="../korean_telemetry.rs"] mod korean_telemetry;
#[path="../parallel_engine.rs"] mod parallel_engine;

use std::time::Instant;
use parallel_engine::LargeScaleEngine;
use korean_telemetry::TelemetryReporter;

fn main() {
    let prompt = "์–‘์ž์—ญํ•™์ด ๋ญ์•ผ";
    let start_total = Instant::now();
    let grid_size = 256;
    let mut engine = LargeScaleEngine::new(grid_size);

    let prompt_energy: f32 = prompt.bytes().map(|b| b as f32).sum::<f32>() / 1000.0;
    for b in engine.bedrock.iter_mut() {
        *b = (*b * 0.5) + (prompt_energy.sin() * 0.5);
    }

    let mut final_energy = 0.0;
    for _ in 1..=5 {
        final_energy = engine.step_parallel();
    }

    let sample_phases: Vec<f32> = engine.topsoil.iter().map(|p| p.value()).collect();
    let report = TelemetryReporter::analyze(&sample_phases, final_energy, 5);
    let elapsed = start_total.elapsed().as_secs_f64() * 1000.0;

    println!("============================================================");
    println!(" ๐Ÿ—ฃ๏ธ ์งˆ์˜: \"{}\"", prompt);
    println!("------------------------------------------------------------");
    print!("{}", report);
    println!("------------------------------------------------------------");
    println!("โฑ๏ธ ์—”์ง„ ๋™์—ญํ•™ ์—ฐ์‚ฐ ์†Œ์š” ์‹œ๊ฐ„: {:.2} ms", elapsed);
    println!("============================================================");
}