도메인 특정 수치 계산 라이브러리를 디자인 할 때 사용할 적절한 데이터 형식 (예 : IndexedSeq[Double]
)을 찾고 있습니다. 이 질문에 대해서는 범위를 1 차원 배열 Double
으로 작업하는 것으로 제한합니다. 라이브러리는 일반적으로 1D 배열의 각 요소에 적용되는 숫자 함수를 정의합니다.벡터화 된 수치 계산을위한 최상의 스칼라 컬렉션 유형
고려 사항 :
- 같은
Vector
또는 IndexedSeq
은을 사용하여 다른 사람들을 위해 시간과 공간의- 합리적으로 효율적인 데이터 변환을 최소화하기 위해
- 친절한를 원하십니까, 불변의 데이터 유형을 선호 도서관
- 우아하고 깨끗한 API
Seq
과 같이 컬렉션 계층 구조에서 더 높은 값을 사용해야합니까?
아니면 단일 요소 기능을 정의하고 매핑/반복을 최종 사용자에게 맡기는 것이 좋습니다.
이것은 (어떤 계산은 호출 집합마다 한 번 수행 될 수 있기 때문에) 효율성이 떨어지지 만 동시에 모든 유형의 컬렉션에서 작동하므로 더 유연한 API를 사용합니다.
어떤 권장 사항이 있습니까?
값 권투에 문제가있는 경우 [debox] (https://github.com/non/debox)에서 살펴볼 수 있습니다. –