https://github.com/boostorg/website/blob/master/feed/history/boost_1_56_0.qbk

 

모듈화

Boost 버전 관리를 Subversion에서 Git의 서브 모듈을 사용하는 시스템으로 이행했다. 디렉토리 구성이 이전과 조금 다르다.

저장소: https://github.com/boostorg/

 

새 모듈

이하의 모듈은 기존 코드에서 추출된 것. 헤더의 패스는 지금까지와 마찬가지.

Assert

Core

Lexical_Cast

Throw_Exception

WinApi

 

 

새 라이브러리

Align

Glen Fernandes씨의 메모리 얼라인먼트의 함수, 메모리 할당기, 어댑터.

 

Type_Index

Antony Polukhin씨의 실행 시와 컴파일 시 모두에서 사용할 수 있는 복제 가능한 type info.

 

 

갱신 라이브러리

Asio

- 접속 지향 IP 소켓을 위해서 Windows I/O 완료 포트 백엔드에 사용 가능하다면ConnectEx() 함수를 사용하도록 했다.

- Windows(및 비 IOCP Windows) 환경에서 io_service 인스턴스 하나에 하나의 조건 변수를 사용하도록 변경했다. 이로써 run_one()이 여러 스레드에서 호출 될 때의 잠재적 경쟁 상태를 해결했다.

- boost::chronostd::chrono의 매크로를 바탕으로 타임 아웃 시간을 계산할 때의 정수 오버 플로를 수정(#9662, #9778)

- kqueue 백엔드의 EV_CLEAR 핸들링에 변경을 가했다.  Mac OS Xclose() 시스템 콜이 hang 하는 경우가 있었기 때문.

- 막대한 수의 소켓을 사용하는 Windows 상에서 select 리액터가 보다 더 효율적으로 동작하도록 했다(#9528)

- 최근 Windows 버전에서 GetQueuedCompletionStatus()의 타임 아웃 워크 어라운드를 무효화 하였다(commit 9d13af4)

 

 

Atomic

- 라이브러리를 재설계했다. 내부적인 리팩터링 외에도 각종 버그의 수정, 기능 테스트 매크로의 부적절한 값 및 오버 플로 핸들리에 관련 된도 포함한다.

- memory_order 열거형 값을 변경했다. 열거형 값은 인터페이스의 일부는 아니지만 사용자 인터페이스로 사용할 경우 ABI가 깨질 수 있다.

- MSVC Windows x64전용으로 128비트의 원자 조작을 구현했다. 타깃 CPU cmpxchg16b 명령이 존재하는 것을 상정하고 있다. 초기의 몇몇 AMD CPU는 이 명령을 지원하지 않고 있다. 그런 타깃을 위해서는 BOOST_ATOMIC_NO_CMPXCHG16B 매크로를 정의한다.

- 실험적으로 MSVC Windows ARM 타깃 지원을 구현했다.

- 실험적으로 GCC DEC Alpha 타깃 지원을 구현했다.

- GCC ARMv6와 이후의 지원을 개선했다. 모든 원자 조작을 CAS 베이스의 루프 대신 어셈블러 블록을 탑재. ARMv7에서 64비트 조작을 지원.

 

 

Container

신기능

-DLMalloc 기준의 확장 메모리 할당기를 추가

boost::container::allocator<T, 2>를 사용함으로써(2는 버전) vector 내부 구현에 realloc() 상당의 기능이 사용되게 된다.

boost::container::node_allocator를 추가. 이는 단순한 분리 스토리지의 할당기. 명시적으로 요구하지 않는 한 시스템에 메모리를 돌려주지 않는 Boost.Pool과 같은 접근을 취하고 있다.

boost::container::adaptive_pool를 추가. 이는node_allocator가 저비용으로 시스템에 메모리를 돌려주도록 하기 위한 것.

이들 기능을 사용하려면 Boost.Container의 빌드가 필요.

 

트리 기반의 정렬된 연상 컨테이너의 커스터마이즈성을 개선했다.

(multi)map (multi)set 구현에 AVL tree, Scapegoat tree, Splay tree를 사용하도록 했다.

 

 

Fusion

Fusion GPU에서 사용 할 수 있게 했다.

 

 

출처: http://boostjp.github.io/document/version/1_56_0.html

 

 

저작자 표시
신고
by 흥배 2015.12.30 10:00