neo 11달전 | parent | favorite | on: GN⁺: 파이썬 3.13, JIT 탑재(tonybaloney.github.io)
Hacker News 의견
  • 소프트웨어 버전 간의 2-9% 성능 향상이 흥미로움. 이러한 작은 개선들이 실망스럽게 여겨지기도 하지만, 지속적으로 누적되어 각 버전이 이전보다 빨라짐을 선호함.
  • Haoran Xu와 Fredrik Kjolstad의 '복사 및 패치' 기법이 주목받고 있음이 멋짐. Xu의 LuaJIT 리메이크 프로젝트 블로그 포스트를 통해 처음 접함. 기존 기술을 재활용하여 새로운 것을 창조하는 방식이 매우 영리함으로 느껴짐. 해당 블로그 포스트는 언어 구현에 대해 배우고 싶은 사람들에게 추천됨. 또한, Xu가 블로그 업데이트가 늦어진 이유가 뒷단의 재작업 때문임을 밝힘.
  • Brandt가 작년 CPython 코어 개발자 스프린트에서 이 주제에 대해 발표함.
  • PyPy, Jython, GraalPy, IronPython의 작업에도 불구하고, CPython에 JIT이 추가되는 것은 Python 생태계에 중요한 발전으로 여겨짐. 특히 3.13 버전 이후의 진화가 기대됨.
  • Python을 웹 개발 외 모든 것에 사용하는데, 성능이 향상된다면 매우 긍정적임. Python 생태계가 CGI나 mod_php와 같은 무상태 요청에서 벗어나 장기 실행 프로세스로 이동했음. 이는 로컬 웹 애플리케이션을 변경할 때마다 재시작해야 한다는 의미인지, 일부 개발자들은 파일 저장 시 애플리케이션을 자동으로 재시작하는 방법을 사용하고 있음.
  • CPython은 코드베이스를 매우 단순하게 유지하고, 다른 구현체에서 최적화를 담당하기로 되어 있었음을 기억함.
  • 기사에서는 '복사 및 패치' JIT를 새로운 것으로 소개하지만, DOS의 QuickBASIC이 비슷한 방식을 사용했음을 기억함. QuickBASIC은 메모리 내에서 템플릿 어셈블리 블록을 패치하여 매우 나쁜 어셈블리 코드를 생성했음.
  • 지난 2년간 Python 성능에 대한 진전이 놀라움. 코어 팀이 성능 향상을 진지한 목표로 삼고 눈에 띄는 개선을 이룸.
  • PyPy에 자금을 투자하기를 바람. 하지만 PyPy는 작은 프로그램에서는 빠른 시작 시간이 그리 좋지 않아 큰 이점을 보지 못함. 또한 큰 프로그램에서는 복잡한 호환성 문제가 발생할 수 있음. 만약 CPython의 JIT가 더 신뢰성 있거나 빠른 시작 시간을 가진다면, 일부 문제를 해결할 수 있을 것임.
  • Python의 GitHub 리포지토리에 '크리스마스 전날 밤'을 패러디한 PR 메시지가 재치 있음.