Rust의 대표 난수 크레이트 rand는 일상적인 연산이 여러 특성에 흩어져 있어, 더 작은 공개·구현 표면과 일관된 사용 경험을 갖춘 urandom을 개발함 고수준 연산을 하나의 Random 구조체에 모으고 Rng 특성을 봉인해, 임의 생성기 지원보다 API 발견성과 내부 최적화를 우선함 새로운 난수 알고리듬을 도입하지 않고 Xoshiro256의 출력 함수를 용도별로 선택해, 1,000개 f64 생성 벤치마크에서 rand 0.10.2보다 약 31% 높은 처리량을 기록함 균등 정수 표본 추출은 임계값을 지연 계산하는 하나의 비편향 구현으로 재사용·일회성 경로를 통합했으며, 500..20_000 범위 벤치마크에서 rand의 두 경로보다 빨랐음 명시적 시드의 원시 출력은 지원 아키텍처와 SemVer 호환 릴리스에서 재현성을 보장하지만, 임의 생성기 연결과 rand의 방대한 분포·서드파티 통합 생태계는 포기함 하나로 모은 Random API rand의 유용한 연산은 여러 특성에 흩어져 있음 난수 범위 생성에는 RngExt, 시퀀스 선택에는 IndexedRandom, 섞기에는 SliceRandom이 필요함 rand 0.10은 일회성 호출을 위한 rand::random_range 같은 루트 수준 도우미를 제공함 RNG 핸들을 유지하거나 선택·섞기 같은 시퀀스 연산을 사용하려면 여전히 여러 특성의 메서드를 찾아야 함 prelude로 가져오기를 줄여도 확장 메서드가 RNG, 슬라이스, 반복자 중 어느 타입에 적용되는지 알아야 하므로 IDE 자동 완성만으로 찾기 어려움 urandom은 고수준 소비자 API를 하나의 Random 래퍼 구조체에 배치함 urandom::new()로 Random<urandom::rng::Xoshiro256Rng>를 생성함 uniform, choose, shuffle을 같은 객체에서 호출할 수 있음 자동 완성으로 random, uniform, chance, choose, shuffle, sample 등을 확인할 수 있음 모두 고유 메서드이므로 고수준 확장 특성을 찾거나 가져올 필요가 없음 확장성 대신 최적화를 택한 봉인된 Rng rand는 저수준 RNG 특성을 공개 확장 지점으로 취급하지만, urandom의 Rng 특성은 봉인되어 지원 생성기를 크레이트 내부에서 선택하고 구현함 임의 생성기를 Random에 연결할 수 없음 새 생성기를 추가하려면 urandom 자체를 변경해야 함 더 나은 알...
더 작고 일관된 난수 API를 위해 rand를 포크한 이유
1 week ago
20
Related
한 연구자가 noreply.net을 샀더니 기업 기밀이 쏟아짐
12 minutes ago
0
프랑스, 사전 동의 없는 텔레마케팅 전화 금지
42 minutes ago
0
GitHub Actions에 OIDC audience 제약이 필요한 이유
2 hours ago
0
H3-metal - Apple Silicon용 네이티브 MiniMax-H3 추론
2 hours ago
1
AI가 웹을 잠식하면서 인터넷의 집단 기억이 사라지고 있음
3 hours ago
1
Rails는 DHH 없이도 Rails일 수 있을까
5 hours ago
1
LLM은 PCB 배선을 어디까지 할 수 있을까? 숙련자와 Net 단위로 비교해봤습니다
5 hours ago
1
Hanami - Rails를 대체하는 Ruby 프레임워크
6 hours ago
2
Tips
click
Popular
What's New in SAP S/4HANA Cloud Public Edition 2608 | Releas...
3 weeks ago
209
Codex 사용량 한도 리셋 추적
3 weeks ago
88
NVIDIA·CoreWeave·Nebius가 만든 GPU 붐의 순환 금융 구조
4 weeks ago
62
'킬러들의 쇼핑몰2' 감독 "시즌3 고민 중"⋯이동욱 "시키면 ...
3 weeks ago
57
© Clint IT 2026. All rights are reserved









English (US) ·