I는 같은 클래스를 가지고가장 큰 프로세서 비용은 어느 것입니까?
outBuffer = new String(buffer);
bfrFile.print(outBuffer);
sysOutWriter.append(outBuffer);
케이스 B :
for(byte bt : buffer) {
charBuffer = (char) bt;
bfrFile.print(charBuffer);
sysOutWriter.append(charBuffer);
}
합니다 (
INSERT CODE HERE
영역에서) 구현의 두 가지 방법
사례 A의
private class verifierListener implements SerialPortEventListener {
String outBuffer;
char charBuffer;
public void serialEvent(SerialPortEvent event) {
if (event.isRXCHAR()) {//If data is available
timeOut = 1000;
lastReadTimer = System.currentTimeMillis();
if (event.getEventValue() > 0) {//Check bytes count in the input buffer
try {
byte[] buffer = verifierPort.readBytes(event.getEventValue());
//INSERT CODE HERE
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
컴파일과 실행 모두 지원하고 있습니다. 할 osed. 그러나이 코드를 최대한 원활하게 수행하려고 노력 중이므로 저가형 PC에서 전송되는 데이터가 손실 될 위험이 없습니다.
문자열 초기화로 인해 A에 더 많은 오버 헤드가 있다고 가정하고 있지만 제거하기 전에 확실하게하고 싶습니다.
어느 것이 더 깔끔하고, 그리고/또는 어떻게 각각 처리 비용을 결정할 수 있습니까?
쉽게 확인할 수 있습니다. 각각의 메소드로 독립 실행 형 테스트 케이스를 빌드하고 루프에서 각각 실행하여 총 런타임에 60 초 이상 걸리는 시간을 확보하십시오. 그런 다음 다른 방법을 사용하여 더 빨리 실행되는지 확인하십시오. – Mitch