- Racket 9.0은 병렬 스레드(Parallel Threads)를 도입한 주요 릴리스로, 기존의 그린 스레드와 futures, places 지원을 확장한 형태
- 새 스레드는
#:pool인자로 생성할 수 있으며,#:keep 'results설정 시thread-wait로 결과를 나중에 조회 가능 -
black-box래퍼는 최적화 컴파일러가 특정 연산을 제거하지 않도록 방지해 벤치마크 정확도를 높임 -
decompile-linklet함수는 링크렛(linklet)을 다시 S-식으로 변환할 수 있으며,processor-count는 병렬 수를 반환하도록 변경 - AArch64용 “natipkg” 패키지, Weibull 분포 추가, 문서 개선 등 다양한 업데이트 포함
Racket 9.0 주요 변경 사항
-
이번 릴리스에서 병렬 스레드(Parallel Threads) 기능이 새로 도입됨
- Racket은 기존에 그린 스레드, futures, places를 지원했으나 병렬 스레드는 주요 확장 기능로 추가됨
- 병렬 스레드는
#:pool인자를 통해 생성 가능하며,#:keep 'results로 설정 시thread-wait를 통해 결과를 나중에 조회 가능
-
black-box래퍼는 최적화 컴파일러가 특정 계산을 완전히 제거하지 않도록 방지- 벤치마크 수행 시 정확한 성능 측정을 보장하는 데 유용함
-
decompile-linklet함수는 링크렛(linklet)을 다시 S-식(s-expression) 으로 매핑 가능- 코드 분석 및 디버깅 시 내부 표현을 복원할 수 있는 기능 제공
-
BC Racket에서
processor-count함수가 항상 병렬 프로세서 수를 반환하도록 변경- 병렬 실행 환경에서 일관된 프로세서 수 확인 가능
-
AArch64용 “natipkg” 패키지가 새로 배포되어 패키지 빌드 및 테스트 인프라에 활용 가능
추가 개선 사항
- Check Syntax 기능이 구문 객체의 “origin” 필드 내 더 깊이 중첩된 식별자 추적 지원
-
math라이브러리에 Weibull 분포 추가 - 다수의 버그 수정 및 문서 개선 포함
커뮤니티 및 참여 안내
- 이번 릴리스에는 Alexander Shopov, Bogdan Popa, Matthew Flatt, Matthias Felleisen 등 여러 개발자가 기여
- Racket은 커뮤니티 기반 오픈소스 프로젝트로, 신규 기여자를 환영
- 참여 방법은 racket/README.md에서 확인 가능
피드백 및 홍보 요청
- 질문과 토론은 Racket Discourse 또는 Discord 커뮤니티에서 가능
- 사용자 및 플랫폼별 패키지 관리자에게 릴리스 소식을 공유하도록 권장