2014-10-15 2 views
0

제목에 명시된 바와 같이 비트 배열 (예 : "001001001")을 사용하여 바이트 []에 대해 BitArray를 구현하는 데 드는 비용을 평가하고 있습니다.) 그러나 나는 더 효과적인 어떤 제안이라도 열려 있습니다.C# 빠른 비트 배열

디자인 타임에는 배열의 길이를 알 수 없지만 배열 당 200 ~ 500 비트가 될 수 있습니다.

메모리는 문제가되지 않으므로 배열을 나타 내기 위해 많은 메모리를 사용합니다. 문제가되지 않습니다. 배열이 만들어지고 수동으로 처리되는 속도가 중요합니다.

미리 알려 주셔서 감사합니다. suggenstion을 주제로 보내 주셔서 감사합니다.

+2

'BitArray'입니다 **하지 ** 사용 할 수있는 것보다 느린 직접'byte []'(정확히 할 일을하기 때문에). 퍼포먼스에 대해 걱정한다면 문자열을 사용하는 것조차도 _think_하지 않을 것입니다 ... –

+3

'BitArray'가 당신의 필요에 비해 너무 느린 지 벤치마킹 해 보셨습니까? 아직 존재하지 않는 코드를 조기에 최적화하려고하는 것 같습니다. –

+0

문자열을 사용하는 코드가 이미 있으며 다른 종류의 표현을 사용하여 속도를 높입니다. 여기에 명시된 바와 같이 : http://www.dotnetperls.com/bitarray 속도가 필요할 때 좋은 옵션이 아닙니다. 그래서 바이트 배열을 고려해야하지만 더 나은 옵션이 있는지 또는 비트 문자열을 바이트 배열보다 경우에도 잘 모르겠습니다. – Skary

답변

-1

몇 가지 제안 :

1)도 N 당신이 안전하지 않은 코드

로를 작성 고려할 수있는 속도에 도달하기 위해 같은 속도

2)에서 작동합니다 긴 int 형 또는 O를 컴퓨터가 비트를 처리하지 않습니다

3) 신규 비용이 비쌉니다. 개체가 많이 생성 된 경우 다음을 수행 할 수 있습니다. 한 번에 10K 개체를 대량으로 만들고 필요한 경우 메서드에서 개체를 제공하십시오. 캐시가 없어지면 캐시를 다시 만들 수 있습니다. 한 번 개체를 처리 당신이 그것을 정리하고 캐시

4) 확인에 반환 완료 다른 방법이 있는지 당신의 조작은 최적