병렬 연산을 사용해 텍스트에서 문자의 빈도를 세어요.
병렬성이란 순차적으로도 할 수 있는 일을 병렬로 처리하는 것을 말해요. 흔한 예시가 바로 문자의 빈도를 세는 거예요. 병렬성을 활용해 여러 텍스트로 이루어진 목록에서 각 문자의 전체 빈도를 계산해요.
Rust의 동시성에 대해 더 알아보려면 다음을 참고해요:
이 연습 문제에는 순차 구현을 기준으로 삼는 벤치마크도 포함되어 있어요. 내 풀이를 벤치마크와 비교해 볼 수 있어요. 입력 크기가 다를 때 각각의 성능이 어떻게 달라지는지 관찰해 봐요. 동시성 프로그래밍 기법으로 벤치마크를 뛰어넘을 수 있을까요?
이 글을 쓰는 시점에서 test::Bencher는 불안정하고 nightly Rust에서만 사용할 수 있어요. Cargo로 벤치마크를 실행해요:
cargo bench
rustup.rs를 사용하고 있다면:
rustup run nightly cargo bench
nightly Rust에 대해 더 알아보려면: