RUST_LOG=debug RUST_TRACEBACK=1 cargo run --example performance_state_size -- --nocapture
=== State 크기에 따른 성능 테스트 ===

--- Small State 테스트 (8 bytes, 1000 actions) ---
  전체 시간: 407.380334ms
  액션당 평균 시간: 407.38µs
  Reducer 총 시간: 69.645127ms
  Reducer 평균 시간: 69.645µs
  Subscriber 총 시간: 69.864602ms
  Subscriber 평균 시간: 69.864µs
  Reducer 호출 횟수: 1000
  Subscriber 호출 횟수: 1000
  전체 Clone 횟수: 6003
  평균 Clone 횟수: 6.00
  Clone 발생 위치 (처음 5개):
    1: at ./examples/performance_state_size.rs:83:25 | 4: rs_store::store_impl::StoreImpl<State,Action>::reducer_thread
    2: at ./examples/performance_state_size.rs:83:25 | 4: rs_store::store_impl::StoreImpl<State,Action>::do_subscribe
    3: at ./examples/performance_state_size.rs:83:25 | 4: rs_store::store_impl::StoreImpl<State,Action>::reducer_thread
    4: at ./examples/performance_state_size.rs:83:25 | 4: rs_store::store_impl::StoreImpl<State,Action>::reducer_thread::{{closure}}
    5: at ./examples/performance_state_size.rs:83:25 | at ./examples/performance_state_size.rs:453:29
    ... (총 6004개 위치)

--- Medium State 테스트 (1KB, 1000 actions) ---
  전체 시간: 378.277542ms
  액션당 평균 시간: 378.277µs
  Reducer 총 시간: 67.904554ms
  Reducer 평균 시간: 67.904µs
  Subscriber 총 시간: 68.293625ms
  Subscriber 평균 시간: 68.293µs
  Reducer 호출 횟수: 1000
  Subscriber 호출 횟수: 1000
  전체 Clone 횟수: 6003
  평균 Clone 횟수: 6.00
  Clone 발생 위치 (처음 5개):
    1: at ./examples/performance_state_size.rs:173:25 | 4: rs_store::store_impl::StoreImpl<State,Action>::reducer_thread
    2: at ./examples/performance_state_size.rs:173:25 | 4: rs_store::store_impl::StoreImpl<State,Action>::do_subscribe
    3: at ./examples/performance_state_size.rs:173:25 | 4: rs_store::store_impl::StoreImpl<State,Action>::reducer_thread
    4: at ./examples/performance_state_size.rs:173:25 | 4: rs_store::store_impl::StoreImpl<State,Action>::reducer_thread::{{closure}}
    5: at ./examples/performance_state_size.rs:173:25 | at ./examples/performance_state_size.rs:491:29
    ... (총 6004개 위치)

--- Large State 테스트 (1MB, 1000 actions) ---
  전체 시간: 605.396458ms
  액션당 평균 시간: 605.396µs
  Reducer 총 시간: 125.837705ms
  Reducer 평균 시간: 125.837µs
  Subscriber 총 시간: 97.508223ms
  Subscriber 평균 시간: 97.508µs
  Reducer 호출 횟수: 1000
  Subscriber 호출 횟수: 1000
  전체 Clone 횟수: 6003
  평균 Clone 횟수: 6.00
  Clone 발생 위치 (처음 5개):
    1: at ./examples/performance_state_size.rs:265:25 | 4: rs_store::store_impl::StoreImpl<State,Action>::reducer_thread
    2: at ./examples/performance_state_size.rs:265:25 | 4: rs_store::store_impl::StoreImpl<State,Action>::do_subscribe
    3: at ./examples/performance_state_size.rs:265:25 | 4: rs_store::store_impl::StoreImpl<State,Action>::reducer_thread
    4: at ./examples/performance_state_size.rs:265:25 | 4: rs_store::store_impl::StoreImpl<State,Action>::reducer_thread::{{closure}}
    5: at ./examples/performance_state_size.rs:265:25 | at ./examples/performance_state_size.rs:529:29
    ... (총 6004개 위치)

--- Very Large State 테스트 (10MB, 값으로 전달, 1000 actions) ---
  전체 시간: 2.325216708s
  액션당 평균 시간: 2.325216ms
  Reducer 총 시간: 396.297422ms
  Reducer 평균 시간: 396.297µs
  Subscriber 총 시간: 396.823641ms
  Subscriber 평균 시간: 396.823µs
  Reducer 호출 횟수: 1000
  Subscriber 호출 횟수: 1000
  전체 Clone 횟수: 6003
  평균 Clone 횟수: 6.00
  Clone 발생 위치 (처음 5개):
    1: at ./examples/performance_state_size.rs:357:25 | 4: rs_store::store_impl::StoreImpl<State,Action>::reducer_thread | at ./src/store_impl.rs:338:45
    2: at ./examples/performance_state_size.rs:357:25 | 4: rs_store::store_impl::StoreImpl<State,Action>::do_subscribe | at ./src/store_impl.rs:583:45
    3: at ./examples/performance_state_size.rs:357:25 | 4: rs_store::store_impl::StoreImpl<State,Action>::reducer_thread | at ./src/store_impl.rs:299:32
    4: at ./examples/performance_state_size.rs:357:25 | 4: rs_store::store_impl::StoreImpl<State,Action>::reducer_thread::{{closure}} | at ./src/store_impl.rs:239:33
    5: at ./examples/performance_state_size.rs:357:25 | at ./examples/performance_state_size.rs:567:29 | 5: <rs_store::reducer::FnReducer<F,State,Action> as rs_store::reducer::Reducer<State,Action>>::reduce
    ... (총 6004개 위치)

--- Very Large State 테스트 (10MB, Arc로 전달, 1000 actions) ---
  전체 시간: 394.073791ms
  액션당 평균 시간: 394.073µs
  Reducer 총 시간: 390.584209ms
  Reducer 평균 시간: 390.584µs
  Subscriber 총 시간: 31.203µs
  Subscriber 평균 시간: 31ns
  Reducer 호출 횟수: 1000
  Subscriber 호출 횟수: 1000
  전체 Clone 횟수: 1000
  평균 Clone 횟수: 1.00
  ⚠️  참고: Arc를 사용하면 Clone은 참조 카운트만 증가하므로 실제 데이터 복사가 발생하지 않습니다.
  Clone 발생 위치 (처음 5개):
    1: at ./examples/performance_state_size.rs:357:25 | 4: <T as core::clone::uninit::CopySpec>::clone_one | at /Users/rookiecj/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/clone/uninit.rs:19:29
    2: at ./examples/performance_state_size.rs:357:25 | 4: <T as core::clone::uninit::CopySpec>::clone_one | at /Users/rookiecj/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/clone/uninit.rs:19:29
    3: at ./examples/performance_state_size.rs:357:25 | 4: <T as core::clone::uninit::CopySpec>::clone_one | at /Users/rookiecj/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/clone/uninit.rs:19:29
    4: at ./examples/performance_state_size.rs:357:25 | 4: <T as core::clone::uninit::CopySpec>::clone_one | at /Users/rookiecj/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/clone/uninit.rs:19:29
    5: at ./examples/performance_state_size.rs:357:25 | 4: <T as core::clone::uninit::CopySpec>::clone_one | at /Users/rookiecj/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/clone/uninit.rs:19:29
    ... (총 1000개 위치)

