2011-09-30 2 views
1

Opa 웹 (또는 "클라우드") 앱용 바이너리의 파일 크기를 최소화하는 컴파일러 옵션이 있습니까?

나는 가장 간단한 "안녕하세요, 웹"웹 응용 프로그램을 Opa로 작성했습니다 (아래 한 줄의 코드 참조).

server = one_page_server("Hello", -> <>Hello, web!</>) 

그런 다음이 파일을 hello.opa라는 이름으로 컴파일합니다.

opa hello.opa 

그러면 ~ 35Mb 크기의 hello.exe 파일이 생성됩니다. 오페라 패키지는 바이너리에서 큰 펀치를 만든다는 것을 알지만, 어쨌든 우리의 앱이 모든 깔끔한 기능을 사용하지 않는다면 결과 바이너리 파일의 크기를 줄이려고합니다. 그렇다면 어떻게? opa --help에 인쇄 된 옵션을 검토했지만이 쿼리와 관련된 것으로 보이는 것은 보지 못했습니다.

server = one_page_server("Hello", -> <>Hello, web!</>) 

    • 운영 체제 : OS X/10.7 (Lion)
    • Opa 버전 : S3.5 - 빌드 652

    모든 입력을 이해하십시오.

    업데이트 : @ xillxx를 사용하여 언급했습니다. 나는 hello.exe 바이너리 파일에서 strip을 실행했고 그것을 25Mb로 가져왔다. 훌륭한 제안 (나는 스트립에 대해 잊어 버렸다). 나는 아직도 더 작은 것을 기대하고 있었지만.

답변

0

opa에는 국한되지 않지만 일반 오래된 스트립을 사용해 보았습니까?

+0

그래도 25 메가 바이트이지만 :(작게하기 위해 opa 컴파일러 레벨에서 수행해야 할 것이라고 생각했습니다.) 감사합니다! – user972294

1

upx을 시도하고 결과 크기를 스트립에 의해 생성 된 것과 비교해야합니다. 이 안녕을 위해 내 Mac에서 7.3M.

당신은 그것을 설치하려면 Mac에서 MacPort를 사용할 수 있습니다 : 우리는 OPA와 큰 웹 사이트 (http://jetleague.com/를) 만들었습니다 sudo port install upx

참고. 나는 서버를 점검했고 바이너리 만 13M (upx-ed)이다.

이 바이너리 안에 모든 것이 있음을 잊지 마십시오. 별도의 설치 (예 : Apache, Mysql, PHP 모듈 ...)없이 새로운 서버에서 실행할 수 있습니다.

서버를 업데이트해야 할 경우 rsync을 사용하여 빠른 업데이트를 수행 할 수 있습니다.

관련 문제