Erlang 19가 릴리즈되었네요.

Erlang 15부터 시작했는데 벌써 19입니다. 업데이트 속도 무시무시합니다.

상세 업데이트 내용은 http://erlang.org/download/otp_src_19.0.readme 요거를 참조하시고요. 눈에 띄일만한 내용은 다음의 몇 가지입니다.

  1. ?FUNCTION_NAME, ?FUNCTION_ARITY 매크로 추가
  2. gen_statem가 새로 생김 : 그전에는 먼가 애매했는데 새로운 게 나왔으니 공부해봐야 겠습니다.
  3. ssh : 이 쪽이 문제가 많은지 계속 변경되던데, 이번에는 새로 구현했다고 하네요.
  4. erlang:open_port(spawn…) : 속도 향샹은 언제나 환영입니다. 특히나 port쪽은요. 대충 커밋 내용 읽어보니 execv()로 인한 blocking 문제, 메모리 사용 문제로 아예 새로 구현했네요. 그래서 3~10배까지 속도 향상을 이루었습니다. 상세한 내용은 커밋 내용을 보시면 됩니다.
  5. dirty scheduler 향상 : NIF를 쓸 수 밖에 없는 상황이니, 이것이 좀 더 눈에 들어옵니다. 하지만 아직 실험단계이니 ㅠㅠ 암튼 이번에 NIF 함수가 많이 추가된 것부터도 맘에 듭니다.
  6. tracing 기능 향상

상세 내용을 보고 있으니 코드 고칠 것도 좀 있어보입니다.

OTP-12719를 확인해보니 record 초기화 처리가 변경된 모양입니다. record 정의에서 기본값을 undefined로 해서 넣어줬는데, 이게 이슈가 있어서 그냥 안해주는 걸로 변경해버렸네요. dialyzer가 시끄러워질 수 있겠습니다.

OTP-13561, inets_regexp가 제거되었네요. 아마 다 re 쓰시겠지만, 이거 쓰시는 분은 변경이 필요해보입니다.

OTP-13487 ++ 연산 속도가 향상되었네요. 이거 할 일이 많으니 도움이 좀 될 것 같네요.

개인적으로 눈에 띄는 것은 이정도네요. GC쪽 동작도 좀 변경이 되어서, 실제 production에 적용하려면, 테스트를 좀 길게 해야 할 것 같습니다. 아마 적용할 쯤은 19.3이나 4쯤이지 않을까 싶네요.

ps. 그나저나 JIT 언제쯤이나…

Like what you read? Give just develop it! a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.