2016-08-30 6 views
4

나는 곧 응용 프로그램을 출시 할 예정이므로 오늘은 이상한 질문이 있습니다. 제 질문은 코드에서 모든 행을 제거해야합니까? print("")입니다. 어떻게 든 앱 성능에 영향을 미칩니 까?코드에서 인쇄 줄 삭제하기

+1

향후 제안 : 중단 점 동작 사용 : – vadian

+0

이렇게하지 않으면 성능이 저하 될 수 있습니다. – picciano

답변

1

예, 제거해야합니다. 성능 영향은 미미할 지 모르지만 여전히 존재합니다.

Marco가 지적한 것처럼 가장 큰 문제는 모든 사람이 print 진술을 공개로 공개한다는 것입니다.

Statement from Apple

:

당신이 디버깅 정보를 로그하는 경우, 기본적으로 이러한 메시지를 비활성화하거나 디버그 수준을 기록해야 하나. 이렇게하면 디버깅 메시지가 사용자 (및 사용자) 로그를 어지럽히 지 않도록합니다.

+0

'NSLog'와'print'는 다른 메커니즘을 사용합니다. – Rob

+0

@Rob ah gotcha. 그들이'print'를 처리하는 방법을 설명하는 편리한 링크를 갖게 되나요 ?? 호기심이 – random

+1

내 손끝에 없습니다. 나는이 구별이 WWDC 2014에서 논의 된 것을 기억하지만, 지금 당장 참고 문헌을 보지 못한다. 나는 그들이'print' 구현을 조정했다고 믿는다. (지금은 동기화 된 것처럼 보인다.) 그러나 나는 상세한 토론을 본적이 없다. 인쇄 진술을 삭제해야한다는 귀하의 기본적인 조언이 유효하다고 생각하지만 귀하가 언급 한 해당 문서는 다른 기술인 AFAIK에 관한 것입니다. – Rob

1

인쇄를 떠나야하는 문제는 사용자가 자신의 장치의 콘솔을 읽고 인쇄 라인을 읽었을 때 디버그 데이터를 읽을 수 있도록 허용한다는 것입니다.

앱의 중요한 데이터를 덤프하는 경우 문제가 될 수 있으며 그렇지 않은 경우 Here, Inside 등만 인쇄하면 문제가되지 않을 수 있습니다.

1

제작 전에 모든 인쇄문을 제거해야합니다. 이것은 확실히 성능에 영향을주는 IO 작업이며, 주 스레드는 인쇄 (IO 작업이 완료되지 않음) 될 때까지 대기합니다. 일부 디버그 레벨 인쇄를 로거로 변환 할 수 있습니다.

Here은 그것에 대해 말하는 또 하나의 스레드입니다.