Ruby 2.6의 새로운 기능

유서 깊은 동적 언어의 최신 버전 인 Ruby 2.6이 이제 프로덕션 릴리스로 제공됩니다.

Ruby 2.6의 새로운 기능

Ruby 2.6은 JIT (just-in-time 컴파일러)의 초기 구현을 추가하여 프로그램 실행 성능을 향상시킵니다. Ruby의 JIT 컴파일러는 C 코드를 디스크에 쓰고 C 컴파일러 프로세스를 생성하여 네이티브 코드를 생성합니다. JIT 컴파일러는 Ruby가 런타임에 사용 가능해야하는 GCC 컴파일러, Clang 또는 Microsoft Visual C ++로 빌드 될 때 지원됩니다.

Ruby 2.6의 다른 새로운 기능은 다음과 같습니다.

  • 언어 변경에서 $SAFE프로세스 전역 상태이며 0을 다시 설정할 수 있습니다.
  • 매개 변수 로 전달되는 block.call경우의 성능이 향상되었습니다 .blockblock
  • Proc#call 속도가 빨라졌습니다.
  • RubyVM::AST문자열 코드를 구문 분석하고 AST 노드를 반환하는 구문 분석 메서드가있는 실험  모듈입니다. 또한이  parse_ file메서드는 코드 파일을 구문 분석하고 AST 노드를 반환합니다.
  • 실험 RubyVM::AST::Node클래스는 Node 객체의 위치 정보와 자식 노드를 표시 합니다.
  • 상수 이름은 ASCII가 아닌 대문자로 시작할 수 있습니다.
  • 끝이없는 것처럼 작동하는 끝없는 범위가 도입되었습니다.
  • 임시 힙 ( theap)이 도입 theap되어 특정 클래스에서 참조하는 단기 메모리 개체에 대한 관리 힙 역할을합니다.
  • 유니 코드 지원은 이제 버전 11입니다.
  • gem 의존성을 관리하기위한 Bundler는 이제 기본 gem입니다.

Ruby 2.6 다운로드 위치

Ruby 프로젝트 웹 사이트에서 Ruby 2.6을 다운로드 할 수 있습니다.

이전 버전 : Ruby 2.5

2017 년 크리스마스에 도착한 Ruby 2.5.0은 2.5 시리즈의 첫 번째 안정적인 릴리스입니다.

오버 헤드로 확인 된 바이트 코드에서 추적 명령을 제거하여 성능을 5-10 % 향상시킵니다. 대신 동적 계측 기술이 사용됩니다. 또한 Lazy Proc 할당 기법을 사용하여 블록 매개 변수에 의한 블록 전달이 Ruby 2.4에서보다 3 배 빨라졌습니다.

성능을 향상시키는 기타 기능은 다음과 같습니다.

  • 기존 어휘 분석기에서 IRB에서 Ripper로 전환하여 문서 생성이 향상되었습니다.
  • Mutex클래스는 더 작고 더 빠른하기 위해 다시 작성되었습니다. Mutex동시 스레드에서 공유 데이터에 대한 액세스를 관리하는 데 사용할 수 있습니다.
  • ERB는 버전 2.4보다 두 배 빠른 속도로 템플릿에서 코드를 생성합니다.
  • 성능은 다음과 같은 방법으로 내장 향상되었습니다 Array#concat, Enumerable#sort_by하고 String#concat.

Ruby 2.5의 기타 개선 사항은 다음과 같습니다.

  • Struct/new 키워드 인수를 허용하는 클래스를 만들 수 있습니다.
  • Do/end블록은 이제 ensure/rescue/else.
  • pp.rb 라이브러리가 자동으로로드됩니다.
  • 역순으로 역 추적을 인쇄하는 옵션이 추가되었습니다. 의도는 스크롤 할 필요없이 기본 오류 메시지를 가져 오는 것입니다.
  • 테스트를 개선하기 위해 분기 및 분석법 범위 측정에 대한 지원이 제공됩니다. 분기 커버리지는 실행되는 분기를 나타내며, 메서드 커버리지는 호출되는 메서드를 나타냅니다.

루비 2.5는 또한 난수를 생성하기 위해 SecureRandom 라이브러리가 버그 수정을 제공합니다. 이제 OpenSSL보다 OS 제공 소스를 선호합니다. 또한 cmath, csv, date, dbm 및 ipaddr과 같은 표준 라이브러리가 gem으로 승격되었습니다.

Ruby 2.5 다운로드 위치

이 tar.gz 파일 또는이 Zip 파일을 열어 버전 2.5를 다운로드 할 수 있습니다.