스택큐힙리스트

왜 "B"를 인쇄하는 것은 "#"를 인쇄하는 것보다 현저히 느린가요? 본문

카테고리 없음

왜 "B"를 인쇄하는 것은 "#"를 인쇄하는 것보다 현저히 느린가요?

스택큐힙리스트 2023. 3. 13. 14:45
반응형

나는 1000 x 1000 의 두 행렬을 생성했습니다.

첫 번째 행렬: O 및 #!@.

두 번째 행렬: O 및 B.

다음 코드를 사용하여 첫 번째 행렬을 완료하는 데 8.52초가 소요되었습니다.

Random r = new Random();

for (int i = 0; i < 1000; i++) {

for (int j = 0; j < 1000; j++) {

if(r.nextInt(4) == 0) {

System.out.print(O);

} else {

System.out.print(#);

}

}

System.out.println();

}

이 코드로 두 번째 행렬은 완료까지 259.152초가 걸렸습니다.

Random r = new Random();

for (int i = 0; i < 1000; i++) {

for (int j = 0; j < 1000; j++) {

if(r.nextInt(4) == 0) {

System.out.print(O);

} else {

System.out.print(B); //only line changed

}

}

System.out.println();

}

극명하게 다른 실행 시간의 이유는 무엇인가요?

의견에서 제안한 대로, System.out.print(#); 만 출력하면 7.8871 초가 걸리고, System.out.print(B); 는 still printing... 를 생성한다.

다른 사람들도 정상적으로 작동한다는 것을 지적한 것 처럼, 나는 예를 들어 Ideone.com를 시도해봤고, 두 개의 코드 조각이 동일한 속도로 실행됩니다.

시험 조건:

이 테스트를 Netbeans 7.2에서 실행하고 콘솔에 출력했습니다.

제가 측정에 System.nanoTime()을 사용했습니다.

답변 1

순수한 추측으로, 당신은 문자를 감쌀 대신에 word-wrapping을 시도하는 터미널을 사용하고 있으며, B는 단어 문자로 취급되지만 #!@은 비-단어 문자로 처리되는 것 같습니다. 따라서 줄 바꿈을 위해 줄 끝에 도달하면 거의 즉시 #!@를 발견하고 쉽게 줄 바꿈됩니다. 반면에 B는 더 오래 찾아야 하므로 감싸야 할 텍스트가 더 많을 수 있으며, 일부 터미널에서 비용이 많이 들 수 있습니다(예: 후퇴 및 감싸는 문자를 덮어 쓰기 위해 공백 출력).

하지만 그것은 순수한 추측입니다.

답변 2

정확한 프린터 속도가 중요한 중요한 상황에서, B를 출력할 때 #(해시 태그)를 출력하는 것보다 놀랍게도 느린 경우가 종종 있습니다. 왜 그럴까요? 이번 글에서는 이러한 문제의 원인과 해결책을 살펴보겠습니다.

#는 일반적으로 프린팅에 사용되기 때문에, 대부분의 프린터는 그에 대한 처리 능력을 갖추고 있습니다. 반면, B는 평균적인 웹 페이지에서 가장 많이 사용되는 단어 중 하나이지만, 프린팅에 필요한 것보다는 복잡한 경우가 많습니다. 이는 B가 다른 글자와 함께 사용될 때 발생하는 문제입니다.

더 자세히 말하자면, B는 선명하고 깨끗하게 인쇄되도록 조정되어 있습니다. 따라서, 이를 인쇄할 때는 프린터가 많은 정보를 다루어야 합니다. 이러한 정보는 프린터 모델, 폰트 및 종이 종류 등에 따라 다릅니다. 따라서, B를 인쇄하기 위해 프린터는 실행해야 하는 연산이 많아지는 결과를 낳습니다.

#와 같은 문자는 인쇄하기가 더 쉽습니다. 이는 B와 달리 매우 간단한 형태의 문자입니다. 따라서, 프린터는 더 적은 양의 정보를 처리하여 #(해시 태그)를 출력할 수 있습니다.

하지만, 이러한 문제를 해결하기 위해 여러 가지 방법이 있습니다. 먼저, 다른 폰트를 사용할 수 있습니다. 이는 B와 같은 문자를 간단하게 인쇄할 수 있도록 돕는 것입니다. 또한, 인쇄할 때 프린터 해상도를 줄이는 것도 가능합니다. 이를 통해 프린터가 다루어야 하는 정보의 양을 줄이면서 B를 인쇄할 때 더 빠르게 처리할 수 있습니다.

결론적으로, B를 인쇄할 때 #(해시 태그)를 인쇄할 때보다 더 많은 시간이 걸리는 이유는 복잡한 폰트와 관련된 문제입니다. 하지만, 이러한 문제를 해결하기 위해 여러 가지 방법이 존재하며, 이러한 방법을 통해 프린터 시간을 절약할 수 있습니다.

[Keywords]

프린트, '#', 'B', 폰트, 해상도

반응형
Comments