현재 루비 코드를 들여 쓰는 데 부드러운 탭 (즉, 공백)을 사용하고 있습니다. 하드 탭을 사용하면 코드 해석시 성능이 향상됩니까? 필자는 4 개의 공백 문자를 분석하는 것보다 한 탭 문자를 읽는 것이 더 빠르다고 가정합니다 (무시할 만하지만).탭 대신 공백을 사용하여 들여 쓰기에 대한 성능에 미치는 영향
답변
출처에서 해석하는 모든 단계에 대한 아이디어가 있습니까? 매우 첫 번째 인 어휘 분석만이 공백을 처리해야하고, 공백의 경우 "처리"는 "무시"를 의미합니다. 이 단계는 전체 시간 중 아주 작은 부분만을 차지합니다. 일반적으로 정규 표현식을 사용하고 거의 선형 복잡성이 있습니다. 비교에서 연령대가 걸릴 수있는 구문 분석과 비교합니다. 바이트 코드를 사용하는 구현에서 두 번째 단계 (바이트 코드 생성)는 중요하지 않은 프로그램의 실제 실행보다 훨씬 적게 걸리기 때문에 해석은 다소 실용적입니다.
걱정하지 마십시오. 아무도 눈치 채지 못할 차이는 없습니다. 솔직히 말해서, time
을 사용하여 차이를 측정 할 수 있고 실제로 작동하지 않는 작은 프로그램에 놀랄 것입니다.
성능 영향은 ε, 즉 0보다 큰 매우 작은 수이다. 공백은 한 번만 읽히고 구문 분석되며, Ruby 코드는 중간 형식으로 변환됩니다.
파서가 탭이있는 들여 쓰기에서 1 바이트를 읽는 것과 스페이스를 4 바이트에서 읽는 사이에 미미한 영향이 있으면 코드를 읽고 탭/간격을 수정해야하는 다음 사람이 상쇄하게됩니다.
공백을 사용하십시오. 서명 한 다음에 코드를 읽을 사람.
아멘, 형제! [] (http://stackoverflow.com/questions/646032) –
- 1. Systemtap 성능에 미치는 영향
- 2. mysql_data_seek의 성능에 미치는 영향
- 3. HtmlTextWriter 개체의 들여 쓰기에 탭 대신 공백을 사용하게하려면 어떻게해야합니까?
- 4. GADT 사용시 성능에 미치는 영향
- 5. 성능 카운터의 성능에 미치는 영향
- 6. Oracle 사용시 성능에 미치는 영향
- 7. 응용 프로그램의 성능에 미치는 영향
- 8. 가변 범위가 성능에 미치는 영향? (C#)
- 9. SQL : 긴 varchar 및 성능에 미치는 영향
- 10. UDP 트래픽 효과가 네트워크 성능에 미치는 영향
- 11. WebSphere PMI 사용시 성능에 미치는 영향
- 12. 하이퍼 스레딩이 컴파일러 성능에 미치는 영향?
- 13. ASP.NET에서의 스레딩 및 성능에 미치는 영향
- 14. 기능적 스타일을 사용하여 성능에 미치는 영향 Javascript vs "procedural"
- 15. MySQL에서 ORDER BY COALESCE의 성능에 미치는 영향
- 16. 데이터 유형 크기가 성능에 미치는 영향
- 17. Android 레이아웃 결정 및 성능에 미치는 영향
- 18. 성능에 대한 javax.servlet.Filter의 영향?
- 19. WCF 서비스에 대한 MTOM 켜기 성능에 미치는 영향
- 20. drawable-hdpi, mdpi ... 등을 사용하여 그림의 성능에 미치는 영향 ImageViews
- 21. Rails 앱에서 BigDecimal과 Integer를 사용했을 때 성능에 미치는 영향
- 22. SQLite의 성능에 대한 주요한 영향
- 23. Apache와 MySQL을 사용한 PHP 출력 버퍼링의 성능에 미치는 영향
- 24. azure에 코드를 게시 할 때 성능에 미치는 영향
- 25. 모든 들여 쓰기에 탭 문자 대신 4 칸을 사용하도록 emacs에 지시하려면 어떻게해야합니까?
- 26. C++에서 개체를 사용할 때의 성능에 미치는 영향
- 27. Where 절에있는 작은 ID 집합을 필터링하여 성능에 미치는 영향
- 28. 세션 변수 : 한도 설정 및 성능에 미치는 영향?
- 29. HTML5 <canvas> : drawImage()의 성능에 미치는 영향
- 30. 플랫폼 기본 문자 인코딩이 플랫폼 간 성능에 미치는 영향
공백은 한 번 읽히고 전혀 구문 분석되지 않습니다. – EJP
난센스. 렉싱 단계는 구문 분석의 일부입니다. –
난센스. 공백은 선별됩니다. 결과가 스캔됩니다. 그 결과가 파싱됩니다. – EJP