Google Go on Android/nacl?

Google 의 Go Programming Language 의 빌드 상태 페이지를 발견하고, 적당히 살펴봤다.

Google Go 의 타겟 플랫폼으로 알고 있던 게, linux x86/x64, darwin(MacOSX) x86/x64, arm 이었는데, 몇 가지가 더 보이더라. 그 중 주목(?)할 만한 게 있었음.

일단 linux-arm-android 가 있고, 추가로 nacl 386 이 있다. 좀 놀란 이유는 며칠 전 구글 I/O 에서,

Android 지원은 가능하지만(arm 에서 빌드가 되니), 아직 높은 우선 순위는 아니다

라고 답한 거였는데 … (정확히는 FAQ 목록이지만) 그리고 이 빌드가 한참된거라서 (올해 1월부터 있다; Fail이 좀 많긴 하지만)

뭐 일단 Android 도 어느 정도 테스트되고 있는 듯(golang.org 에도 사용가능한 플랫폼으로 그에 대한 언급이 있다). 덤으로 WebApp 용 native client(nacl) 지원도 있는 듯 함. 다만 벤치 마크 페이지에는 darwin x86/x64, linux x86/x64 만 있는 걸로 보아 아직 불안정한 상태인 듯도. (그리고 Google I/O 발언대로라면 아직 그렇게 높은 우선 순위가 아니라는 정도?)

PS. 근데 내가 Go 를 정말로 쓰기 위한 최우선 과제(?) I/O 성능 개선인데, 이건 언제쯤? 사실 이건 밑 단 라이브러리만 잘 되면 좋겠는데. 하다 못해 Java 보다야 I/O 성능이 좋아야할 거 아닌가;;

이 글을 쓰는 사이에 스리슬쩍 FAQ관련된 비디오가 업데이트 되었다. 이건 집에가서 봐야하나.

Jinuk Kim
Jinuk Kim

SW Engineer / gamer / bookworm / atheist / feminist

Articles: 935

2 Comments

  1. 근데 I/O 성능하고 언어하고 관련이 많이 있을까요?
    제 생각엔 언어를 바꾼다고 성능을 개선할 수 있을 것 같지는 않은데, 제가 뭘 잘 모르고 있나 해서요.

    • 언어를 단순히 문법과 컴파일러만 보는게 아니라, 그 외연을 형성하는 라이브러리와 OS 연결(?) 코드들 같은걸 생각하면 I/O 성능이 확연히 다르지요.

      예를 들어 Python 은 GIL 때문에 ayncore 같은걸로 우회(?)해서 다중 I/O를 처리하는데, 이거 보단 C/C++/Java 에서 explicit threading 써서 복수의 I/O를 처리하는게 대부분의 현대 OS에선 빠른걸 생각하면 될 것 같네요.

Leave a Reply