VectorMask

VectorMask (벡터 lane 선택 마스크)

벡터의 lane 단위 연산에서 특정 lane만 선택하거나 건너뛰기 위한 마스크를 나타내는 값 기반 클래스입니다. Vector와 함께 사용됩니다.

출처: Java API Reference

본문

VectorMask<E>는 벡터 연산에서 어떤 lane을 활성화할지 나타내는 마스크입니다. 벡터 연산에 적용하면 활성화된 lane에만 연산이 수행되고 나머지는 영향을 받지 않습니다.

VectorMaskVector와 함께 값 기반(value-based) 클래스입니다. 값 기반 클래스이므로 == 같은 동일성 기반 연산은 예측할 수 없는 결과를 내거나 성능이 저하될 수 있습니다. 흥미롭게도 v.equals(w)v==w보다 빠른 경우가 많은데, equals는 동일성에 민감하지 않은 메서드이기 때문입니다. toStringhashCode도 마찬가지입니다.

또한 벡터 마스크 객체는 지역 변수·파라미터·static final 상수로 저장할 수 있지만, 다른 자바 필드나 배열 요소에 저장하는 것은 의미상 유효해도 성능 저하가 발생할 수 있습니다. 마스크는 조건부 벡터 연산, 압축·확장, 필터링 등에서 유용하게 쓰입니다.

더 알아보기 (Learn more)

Java 공식 API