# 55 GiB/s 피즈버즈 (2021)

> Clean Markdown view of GeekNews topic #9602. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=9602](https://news.hada.io/topic?id=9602)
- GeekNews Markdown: [https://news.hada.io/topic/9602.md](https://news.hada.io/topic/9602.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2023-07-04T09:56:09+09:00
- Updated: 2023-07-04T09:56:09+09:00
- Original source: [codegolf.stackexchange.com](https://codegolf.stackexchange.com/questions/215216/high-throughput-fizz-buzz/236630#236630)
- Points: 5
- Comments: 1

## Topic Body

- Fizz Buzz는 면접 중 주어지는 일반적인 프로그래밍 도전과제입니다.
- 이 기사는 다양한 프로그래밍 언어로 구현된 FizzBuzz의 다양한 구현을 소개합니다.
- 지금까지 얻은 최고 처리량은 어셈블리어로 약 57.2 GiB/s입니다.
- 이 기사는 어셈블리어 구현을 위한 빌드 및 사용 지침을 제공합니다.
- 프로그램의 멀티스레드 버전은 상당한 속도 향상을 이끌어내지 못했습니다.
- 이 기사는 고성능 FizzBuzz 구현을 위한 도전과 최적화에 대해 강조합니다.
- 이 기사는 FizzBuzz 알고리즘을 구현한 AVX2 어셈블러 프로그램에 대해 논의합니다.
- 이 프로그램은 더 빠른 성능을 위해 고소수 형식과 vmsplice 시스템 호출을 사용합니다.
- 프로그램에는 Fizz, Buzz 및 라인 번호를 작성하기 위한 다양한 초기화 단계와 루틴이 포함되어 있습니다.
- 이 기사는 연속적인 FizzBuzz 출력을 생성하는 바이트코드 인터프리터를 언급합니다.
- 바이트코드 프로그램은 효율적인 처리를 위해 SIMD 명령을 사용하여 해석됩니다.
- 이 기사는 바이트코드를 해석하고 출력을 생성하는 주요 루프와 관련된 특정 코드 섹션에 대해 논의합니다.
- 제공된 코드는 FizzBuzz 성능을 최적화하는 프로그래밍 도전 과제를 위한 제출입니다.
- 이 코드는 고성능을 달성하며 고급 기술과 명령을 활용합니다.
- 이 기사는 최적화된 기술을 사용하여 FizzBuzz 시퀀스를 생성하는 C 프로그램에 대해 논의합니다.
- 이 코드는 다른 개발자에 의해 더욱 최적화되어 더 나은 성능을 보여줍니다.
- 이 기사는 빠른 FizzBuzz 어셈블리를 생성하기 위해 JIT 컴파일을 사용하는 코드 제출에 대해 논의합니다.
- 이 구현에는 전처리기와 효율적인 출력을 위한 벡터화된 C 코드가 포함되어 있습니다.
- 이 코드는 이전 제출물보다 우수한 성능을 발휘하기 위해 최적화되고 다양한 시스템에서 테스트되었습니다.
- 이 기사는 최적화를 위해 AVX2 명령을 사용하는 C 코드 구현에 대해 논의합니다.
- 이 구현에는 JIT 컴파일러가 포함되어 있으며 높은 속도와 효율적인 메모리 사용을 달성합니다.
- 이 기사는 FizzBuzz의 속도를 보여주기 위해 Rust 구현을 제공합니다.
- Rust 구현은 효율적인 정수-문자열 변환과 코드 청크 기술을 사용합니다.
- 이 기사는 고급 기술과 최적화를 사용하여 FizzBuzz를 구현한 C 프로그램에 대해 논의합니다.
- 이 프로그램은 다른 모든 항목보다 빠르게 실행되도록 설계되었으며 설명과 코드 스니펫이 포함되어 있습니다.
- 저자는 vmsplice 시스템 호출을 사용하는 데 대한 팁과 경고를 제공하며 테스트 모듈을 포함합니다.
- 이 텍스트에는 출력을 효율적으로 생성하는 "fizzbuzz"라는 함수와 관련된 코드 스니펫이 포함되어 있습니다.

## Comments



### Comment 16951

- Author: neo
- Created: 2023-07-04T09:56:09+09:00
- Points: 1

###### [Hacker News 의견](http://news.ycombinator.com/item?id=36568192) 
- 리눅스는 한 프로그램에서 다른 프로그램으로 파이프된 데이터를 완전히 L2 캐시에 유지할 수 있어서 인상적인 시스템 아키텍처 디자인입니다.
- 기사의 저자는 프로그램이 실행되지 않는 사람과 높은 노력의 댓글을 주고받으며 ASLR과 관련된 문제를 해결합니다.
- 러스트의 FizzBuzz 구현에서의 성능은 예상치 못한 것으로, 파이썬3와 비슷한 수준입니다.
- 어셈블리로 코드를 작성하면 모든 것을 더 빠르게 만들 수 있습니다.
- 복잡한 문제 해결 속도를 평가하는 것은 주로 메모리 추출 및 프로세스 간 전송의 효율성을 테스트하기 때문에 결함이 있습니다.
- vmsplice의 사용은 다른 프로세스에 대해 프로세스의 메모리에 액세스를 제공하므로 경기 요건과 일치하지 않을 수 있습니다.
- 파일 확장자에서 ".S"와 ".s"의 중요성이 의문스러워집니다.
- 자바는 C, C++, 어셈블리, 고, 러스트와 같은 다른 언어와 비교했을 때 놀랍도록 빠릅니다.
