문제

텍스트를 증분적으로 캡처하는 것과 같은 상황의 경우, 예를 들어 페이지가 렌더링될 때 모든 output.write 호출을 수신하고 해당 호출이 stringbuilder를 통해 텍스트 작성기에 추가되는 경우입니다.

이를 수행하는 더 효율적인 방법이 있습니까?닷넷에 이미 존재하는 것이 바람직합니까?특히 전체 크기가 100k를 넘는 경우에는 더욱 그렇습니다.연속된 메모리라기보다는 페이지 배열에 더 가까운 것이 아닐까요?

도움이 되었습니까?

해결책

저는 StringBuilder가 .net에 텍스트를 추가하는 가장 효율적인 방법이라고 생각합니다.보다 효율적으로 만들려면 StringBuilder를 만들 때 초기 크기를 지정할 수 있습니다.

다른 팁

해당 텍스트로 무엇을 하느냐에 따라 다릅니다.

추적이나 로깅이 문제라면 ETW(Windows용 이벤트 추적)를 사용하는 것이 가장 좋습니다.이는 Windows 2000부터 Windows에 내장된 커널 수준 추적 기능이며 파일 I/O를 수행하는 것보다 훨씬 빠릅니다.

.NET 2.0을 사용하지 않는 경우 이를 사용하려면 약간의 win32 API 작업을 수행해야 하며 시스템에 등록할 공급자 클래스를 만들어야 합니다.조금 복잡하지만 노력할 가치가 있습니다.

.NET 3.5를 사용하는 경우 관리되는 Etw 클래스는 System.Diagnostics.Eventing에서 찾을 수 있습니다.

그만큼 좋은 것 같아요.StringWriter를 사용할 수 있지만 여전히 StringBuilder에 쓰고 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top