Web 솔루션의 빌드속드와 리로딩속도에 관한 비교

by Lyn posted Aug 29, 2014
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
PS. 이 글은 어디까지나 "개발환경" 이야기지 "배포환경" 얘기가 아닙니다.
배포시에는 대충 .net > java > python > php > ruby 정도로 순서가 뒤집어집니다...


이번에 페이스북 SSAG 그룹의 조대협 님의 글을 보고 "빌드속도" 와 "리로딩속도" 에 대해서 고민해 보았습니다.
사실 전 C++로 주로 작업을 하기 때문에 리로딩속도라는건 의미가 없었는데다가
빌드속도는 빌드서버 몇개 더 둬서 장비빨로 해결하는게 당연시 되었고, 그 컴파일 느리다는 C++도 파일 몇개 바꾸는 정도면 Incremental link를 사용할 경우 링크 시간도 별로 안걸립니다.
하지만 지금은 C#을 쓰고 있는데다가, "배포중" 이 아닌 "개발중" 이라면 was 를 다시 띄우는 속도가 생산성에 큰 지장을 줄 것이라고 생각되어 간단히 테스틀 해 보았습니다.
제 주력플랫폼은 역시 Windows 인지라, 테스트 환경이 VM이 되어 버렷기에 성능이 중구난방이고(...) 애초에 각 프로젝트의 규모도 다르니 절대 적인 수치를 비교하는것은 의미가 없다고 생각되어 단순히 체감 순위만 
나열해 보겠습니다.
제가 모든 플랫폼을 잘 아는게 아니라서 그냥 인터넷에 흔하게 돌아다니는 개발환경을 기준으로 했습니다.
테스트는 각 플랫폼에서 유명한 이슈트래커 솔루션(자바나 닷넷은 좀 미묘 ...) 으로 하였습니다(규모큰 프로젝트를 찾을수가 없어서...)
node.js 기반 이슈트래커를 아는게 없어서 테스트를 못해본건 좀 아쉽네요
perl 은 한국에선 쓰는 프로젝트가 아예 없다시피 한거같아서 빼둿습니다. 일본에선 php와 맞먹는 인기라는데
1. apache + php + mantis
2. python + trac (내장된 tracd 사용)
3. ruby + redmine + webrick
4. tomcat + java+ itracker
5. iisexpress + C# + BugTracker.NET
테스트 결과
php > [넘사벽] > dotnet > python > [슬슬 짜증이 나기 시작함] > java > ruby
아예 다시 띄울 필요가 없는 php가 이 상황에선 압도적이군요 (....)
그 뒤로 닷넷 파이썬이 있고, java 정도만 가도 리로딩시간이 개발리듬에 영향을 줄 정도로 느렸습니다.
작은 프로젝트라면 확실히 java에서 플랫폼을 갈아타는 것만으로 생산성 향상을 볼 수 있을지도 모르겠습니다.
저는 조금만 프로젝트가 커져도 약타입 언어는 생산서에 한계가 온다는 입장이라 아마 쓸일은 없겠지만요...
제가 공감하는 관련 글 링크 :http://youngrok.com/WeakTyping_%EC%96%B8%EC%96%B4%EC%9D%98%ED%95%9C%EA%B3%84 
마침 이분도 오픈마루에서 이슈트래커를 만드셧던 분이라고 합니다 (...) 아무상관없지만
하지만 ruby... 토나옵니다. 안떠요 안떠 ... 저보고 이거 가지고 개발하라 그러면 도망갈지도 모르겠어요(............)