2010-07-22 6 views
31

최고의 Java 원시 콜렉션 라이브러리는 무엇입니까? (대부분의 메모리와 시간을 효율적으로) 내가 Trove를하고 FastUtil이 가장 많이 사용되는 것들로 발견했지만, 그들 (또는 다른 사람 사이) 사이에 많은 비교가장 효율적인 Java 원시 콜렉션 라이브러리

어떤 비교가 가능한 거기를 발견하지 않았습니다

?

+1

아무도 없을 것입니다. :) 그러나 나는 또한 Trove와 FastUtil과 같은 다른 벤치마킹이 있는지 알고 싶습니다. – Sarmun

+0

아마도'java.util' 컬렉션을 참조 점으로 포함하고, Apache commons collections 및 Google commons collections/guava와 동등한 것이 있어야합니다. 문제는 1) 유사한 기능과 비슷한 기능을 비교하는 것, 2) 메모리 사용을 측정하는 것, 3) 일반적으로 Java "마이크로 벤치 마크"가 가짜 결과를내는 표준 트랩을 피하는 것입니다. –

+2

비 기본 컬렉션의 메모리 사용은 내 경우에 쓸모 없게 만듭니다. 그리고 어쨌든 그들은 모두 느린 속도이기 때문에 요청에 맞지 않습니다. 추가 기능, 단순한 효율적인 map/set/list 등이 필요하지 않습니다. – Sarmun

답변

5

저는 원시 기본 프레임 워크 벤치 마크에 대해 잘 모릅니다. 이 것은 비 원시적 인 버전과 비교할뿐만 아니라 볼 수있어서 좋을 것입니다. (단지 autoboxing으로 epically Java generics가 어떤 하드 코어 케이스를 빨아 먹는 것을 보여주기 위해서입니다).

벤치 마크 from the Trove itself이 있습니다. 가장 직접적인 방법은 다른 라이브러리에 연결하는 것입니다.

도 - 당신이 그걸 보지 못했습니까? - Cern's Colt 라이브러리에는 AFAICR이 등장하기 전에도 원시 목록과 행렬이 있습니다.

13

This comparision ~ java collection, trove 및 colt 사이가 도움이 될 수 있습니다.

+1

링크가 끊어졌습니다. 크롬에서 열 수 있습니다/즉 – Edge

+1

다른 비교 http://java.dzone.com/articles/time-memory-tradeoff-example – leventov

4

최근 다른 원시 라이브러리 인 Java 라이브러리 인 Open Banana를 오픈했습니다. 다른 라이브러리보다 다른 점은 바나나가 자체 메모리 관리 기능을 갖추고있어 기본적으로 많은 객체를 만들지 않고도 동적 데이터 구조를 구현할 수 있다는 것입니다. 바나나는 다른 라이브러리보다 훨씬 작습니다. 병은 현재 약 60k입니다.

이미 다른 기본 컬렉션 라이브러리가 제공하는 것 같지 않은 LinkedList를 지원하며 곧 세트와 트리를 추가 할 계획입니다.

https://github.com/omry/banana

+0

안녕하세요, 놀라운 라이브러리. 세트는 아직 끝냈 니? – bertie

+0

아니,하지만 당신이 찔러주고 싶으면 너를 도울 수있어. 몇 주 후에도 약간의 시간을 할애 할 수도 있습니다. –

+0

너의 관대함을 위해 고마워하지만,이 서포트를 서둘러서는 안된다. 나는 이것이 임의의 객체 컬렉션을 찾고 있었기 때문에 원시 컬렉션을위한 것이라는 통지를하지 않았다. – bertie

관련 문제