GN⁺: Zasper - Go 언어로 개발된 현대적이고 효율적인 JupyterLab 대체제
(github.com/zasper-io)- Zasper는 대규모 동시성을 지원하기 위해 설계된 IDE임
- 최소한의 메모리 사용량과 뛰어난 속도를 제공하며, 여러 동시 연결을 처리
- Jupyter 노트북과 같은 REPL 스타일의 데이터 애플리케이션 실행에 적합
- 현재 Mac에서 완전 지원되며, Linux에서는 제한적으로 지원
-
벤치마크
- Zasper는 JupyterLab에 비해 RAM과 CPU 사용량이 4배 적음.
- JupyterLab은 약 104.8 MB의 RAM과 0.8 CPU를 사용하지만, Zasper는 26.7 MB의 RAM과 0.2 CPU를 사용함.
-
Zasper를 만든 이유
- 시장에는 Databricks Notebooks와 Deepnote Notebooks와 같은 JupyterLab 유사 프론트엔드 도구가 있지만, 대부분 무료가 아니며 클라우드에서 작업해야 함.
- Zasper는 로컬 머신에서 원활하게 작동하며, 사용 가능한 자원을 효과적으로 활용하여 최대 효율성을 보장함.
- Go 언어는 REST, RPC, WS 프로토콜에 대한 우수한 지원을 제공하며, 동시성과 성능에서 뛰어남.
- Python은 I/O 중심의 비동기 작업에 적합하지만, CPU 중심 작업에서는 한계가 있음.
- 에디터, 터미널, 런처, Jupyter 노트북, 버전 관리, 명령 팔레트, 다크 모드 등 다양한 기능 제공
- Electron 앱과 웹 앱 두 가지 형태로 제공됨.
-
로드맵
- Zasper는 데이터 과학자와 AI 엔지니어를 위한 강력한 IDE 생태계를 목표로 하며, 향후 개발 방향은 다음과 같음:
- Jupyter 노트북뿐만 아니라 사용자 정의 데이터 앱 지원
- 기존 도구와의 통합을 용이하게 함
- 클라우드에서의 자체 호스팅 배포를 위한 Zasper Hub 제공
- Zasper는 데이터 과학자와 AI 엔지니어를 위한 강력한 IDE 생태계를 목표로 하며, 향후 개발 방향은 다음과 같음:
Hacker News 의견
-
Zasper의 저자는 Zasper의 Jupyter 커널 처리가 Go 코루틴으로 구축되어 JupyterLab의 Python 방식보다 우수하다고 설명함
- Zasper는 JupyterLab보다 RAM과 CPU 사용량이 각각 1/4 수준임
- 검색 기능 등은 아직 최적화되지 않아 느림
- 혼자서 풀타임으로 개발 중이며, 앞으로 개선될 예정임
- 첫 번째 초안에 대해 긍정적인 반응을 기대함
-
Marimo는 Streamlit과 Jupyter의 장점을 결합한 Jupyter 대안으로 흥미로움을 자아냄
-
메모리와 CPU 사용량 감소가 실제로 의미 있는지 의문을 제기함
- Python 코드가 더 많은 자원을 사용하기 때문에 Go의 스레딩이 얼마나 도움이 되는지 불분명함
-
JupyterLab이 오래되었지만 지속적인 개발로 현대적임을 유지하고 있다는 의견이 있음
-
대안이 macOS에서만 실행되고 Linux에서는 부분적으로 지원되며, IPython만 지원하는 점을 지적함
- Go를 사용한 성능 개선이 Electron 사용으로 상쇄된다고 언급함
-
Jupyter에서 rstudio와 같은 인터페이스를 원하며, 코드 블록을 실행할 수 있는 기능이 중요하다고 설명함
- JupyterLab의 "open console for notebook" 기능을 좋아하지만, 텍스트를 보내거나 키보드 단축키로 포커스를 전환하는 방법을 찾지 못함
- 이러한 이유로 VSCode의 Jupyter 구현을 사용하지 않음
-
UI를 위해 Wails를 고려했으면 좋겠다는 의견이 있음
- Go로 많은 노력을 기울였는데 Electron을 사용한 점을 아쉬워함
-
VSCode의 Jupyter notebook 지원과 비교하여 어떤 장점이 있는지 궁금해함
-
실행 중인 프론트엔드에서 연결을 끊고 다시 연결할 때 출력이 손실되지 않는지 궁금해함
-
JupyterLab 프론트엔드를 대체하고 Jupyter 커널과의 연결을 유지하는 프로젝트로 보임
- 이론적으로 Javascript나 다른 언어의 커널도 지원할 수 있을 것으로 보임
- 프로젝트가 IPython 커널로만 테스트되었음을 언급하며, 향후 발전 방향에 관심을 가짐