Hacker News 의견
  • Oliver가 Porffor에 전념할 것이라고 발표했음
  • JS 성능 향상에 한계가 있어, V8 C++ 호출로 트랜스파일링하는 것이 최선일 것이라는 의견이 있음
    • TypeScript를 컴파일하면 큰 성능 향상을 얻을 수 있음
    • TS와 V8은 빠르게 변화하는 비표준 대상이므로 큰 팀이 필요함
  • JS 런타임이 Wasm 접근을 시도하는 것이 멋지다고 생각함
    • Static Hermes와 Porffor의 공통점과 차이점을 분석함
      • 둘 다 JS test262 준수를 목표로 함
      • Porffor는 Native와 Wasm 출력을 지원하지만 Static Hermes는 주로 Native 출력에 집중함
      • Porffor는 자체 호스팅되며 순수 JS로 작성되었고, Static Hermes는 LLVM에 의존함
      • Porffor는 비동기/프로미스/어웨이트를 지원하지 않지만 Static Hermes는 제한적으로 지원함
      • Static Hermes는 C++로 작성되었고, Porffor는 주로 JS로 작성됨
      • 둘 다 TypeScript를 지원하지만 Static Hermes는 TS AST를 Flow로 트랜스파일링하고, Porffor는 네이티브로 지원함
      • Static Hermes는 eval과 같은 어려운 JS 시나리오를 지원하기 위해 폴백 인터프리터를 가지고 있지만, Porffor는 AOT 컴파일만 지원함
  • 이 프로젝트가 JS 엔진을 가속화할 수 있을지 기대됨
  • windmill.dev에서는 사용자가 코드를 배포할 때 Bun 빌드를 사용하여 스크립트와 모든 종속성을 하나의 js 파일로 번들링함
    • 번들을 s3에 저장하여 콜드 스타트와 메모리 사용량을 개선함
    • 모든 것을 네이티브로 번들링할 수 있다면 게임 체인저가 될 것임
  • "ahead-of-time JS engine"이 "JS-to-Wasm compiler"보다 더 나은 설명인 이유를 궁금해함
  • Porffor의 버전 관리 방식에 대해 의심이 있음
    • Test262 테스트에서 회귀가 발생하면 버전 번호가 역행할 수 있음
  • Porffor는 웨일스어로 "보라색"을 의미함
  • quickJS와 비교하여 JS를 네이티브 코드로 컴파일하는 방법을 궁금해함
  • Facebook이 PHP를 C로 트랜스파일링하려 했던 것과 같은 아이디어라고 생각함
    • hiphop-php라고 불렸고, 결국 hhvm을 새 개념으로 만들었음
  • NodeJS를 네이티브 라이브러리로 컴파일할 수 있는 방법을 알고 싶어함
    • 현재 사용 중인 프로세스가 약간 복잡하고 오류가 발생하기 쉬움