나는 메모리 내 byte[]
을 가지고 있으며 13
과 10
인 오프셋을 찾을 필요가 있습니다.64 비트 컴퓨터에서 2 바이트를 검색하여 위치를 반환하는 가장 빠른 방법은 무엇입니까?
String oneLine = Encoding.ASCII.GetString(bytes, 0, max);
64 비트 컴퓨터에서 두 바이트를 검색하는 가장 빠른 방법은 무엇입니까 : 나는 그 라인을 추출하려면 다음을 사용할 것인가? .. 문자열로 변환 하시겠습니까?
13
을 스캔 한 다음 10
을 스캔하면 각 바이트를 반복하는 것 외에 다른 작업이 있습니까?
아마 있을지 모르지만 당신이 측정하고 간단한 접근 방식이 빠르지 않다고 * 알았습니까? –
먼저 문자열로 변환하고'yourString.IndexOf (Environment.NewLine)'을 수행하는 것이 더 빠릅니까? 진정으로 궁금한 점은 ... – DiskJunky
@PaulSasik 글쎄, 종종 캐시 및 CPU 친화적 인 방식으로 같은 일을함으로써 일정한 요소의 속도 향상을 얻을 수 있습니다. 때로는 그 일정한 요소가 중요합니다. 그러나 OP와 다른 모든 사람들은 가장 빠른 방법을 요구하는 것이 종종 시간 낭비와 잘못된 질문으로 시작한다는 것을 알고 있습니다. 그래서, OP : 왜 신경 안 씁니까? 호기심 (아무것도 그와 함께 틀리게)? 분명한 방법이 너무 느리다는 느낌! 프로파일 링과 벤치마킹을 통해 잘 짜여졌습니다. 지식이 있어야보다 느립니다. 중간의 것만 나쁜 이유입니다. – delnan