«optimization» 태그된 질문

최적화는 기존 프로그램을보다 효율적으로 또는 적은 리소스를 사용하도록 개선하는 프로세스입니다.

17
조기 최적화는 실제로 모든 악의 근원입니까?
내 동료가 오늘이라는 클래스를 커밋했습니다.이 클래스는 ThreadLocalFormat기본적으로 Java 형식 클래스 인스턴스를 스레드 로컬로 이동했습니다. 스레드 안전하지 않고 "상대적으로 비싸지 않기"때문입니다. 나는 빠른 테스트를 작성하고 초당 200,000 개의 인스턴스를 생성 할 수 있다고 계산했으며, 그가 그 수를 많이 만들 었는지 물었다. 그는 훌륭한 프로그래머이며 팀의 모든 사람은 매우 숙련되어 결과 코드를 …

30
코딩시 미세 최적화가 중요합니까?
최근 에 PHP 에서 isset ()이 strlen ()보다 빠른 이유를 찾기 위해 Stack Overflow에 대한 질문을했습니다 . 이로 인해 읽을 수있는 코드의 중요성과 코드에서 마이크로 초의 성능 향상이 고려할 가치가 있는지에 대한 의문이 제기되었습니다. 아버지는 은퇴 한 프로그래머이며 그에 대한 대답을 보여주었습니다. 그는 코더가 마이크로 레벨에서도 코드의 성능을 고려하지 않으면 …

20
최적화 된 코드를 읽을 수있는 코드로 교체해도 괜찮습니까?
때로는 기존 코드를 확장 / 개선 해야하는 상황이 발생할 수 있습니다. 이전 코드는 매우 간결하지만 확장하기가 어렵고 읽는 데 시간이 걸립니다. 현대 코드로 바꾸는 것이 좋은 생각입니까? 얼마 전 저는 린 접근법을 좋아했지만 이제는 더 높은 추상화, 더 나은 인터페이스 및 더 읽기 쉽고 확장 가능한 코드를 선호하여 많은 최적화를 …

14
최적화가 조기에 이루어지지 않아 악이 아닌 것은 언제입니까?
"조기 최적화는 모든 악의 근원"은 우리 모두가 듣거나 읽은 것입니다. 소프트웨어 개발의 모든 단계 (높은 수준의 설계, 세부 설계, 높은 수준의 구현, 세부 구현 등)에서 어떤 종류의 최적화가 조기에 이루어지지 않았는지 궁금한 점은 어두운면을 넘어 가지 않고 고려할 수있는 최적화 정도입니다.


9
프로그램 최적화의 90/10 규칙의 의미는 무엇입니까?
Wikipedia에 따르면, 프로그램 최적화의 90/10 규칙에 따르면 "프로그램 실행 시간의 90 %가 코드의 10 %를 실행하는 데 소비됩니다"라고되어 있습니다 (두 번째 단락 참조 ). 나는 이것을 정말로 이해하지 못한다. 이것이 정확히 무엇을 의미합니까? 실행 시간의 90 %를 코드의 10 % 만 실행하는 데 어떻게 사용할 수 있습니까? 그러면 코드의 다른 …


15
언어가 CPU 디자인에 어떤 영향을 미쳤습니까? [닫은]
우리는 하드웨어가 컴파일 된 이진 코드만을 볼 때 프로그램이 어떤 언어로 작성되었는지는 신경 쓰지 않는다고하지만 종종 이것이 사실은 아닙니다. 예를 들어 겸손한 Z80을 생각해보십시오. 8080 명령어 세트의 확장 기능에는 CPIR과 같은 명령어가 포함되어 있습니다. CPIR은 C 스타일 (NULL로 끝나는) 문자열을 스캔하는 데 유용합니다 (예 : 수행) strlen(). 설계자는 C 길이의 …

7
소프트웨어 프로그래밍에서 CPU 및 GPU로드를 100 %로 유지할 수 있습니까?
이것은 게이머로서 흥미로운 주제 인 CPU / GPU 병목 현상과 프로그래밍에 대한 일반적인 질문입니다. 내가 실수하지 않으면 CPU와 GPU가 계산하는 것을 이해하지만 아키텍처의 차이로 인해 다른 계산보다 나은 계산이 가능하다는 것을 알게되었습니다. 예를 들어, 크래쉬 해시 또는 cryptocurrency 마이닝은 CPU보다 GPU에서 훨씬 더 효율적인 것으로 보입니다. 그래서 궁금합니다 : CPU가 …

4
얼마나 빨리 갈 수 있습니까?
Go는 '금속에 가깝게'실행해야하는 몇 가지 언어 중 하나입니다. 즉 VM없이 컴파일되고 정적으로 유형이 지정되고 코드가 기본적으로 실행됩니다. 이는 Java, C # 등에 비해 속도 이점이 있습니다. 그러나 Java 뒤에있는 것 같습니다 ( Programming Language Shootout 참조 ) 덜 성숙한 컴파일러가 이것에 대해 큰 책임을지고 있다고 가정하지만 다른 이유가 있습니까? Go의 …


4
C, C ++ 등을위한 JIT 컴파일러
C 및 C ++와 같은 컴파일 된 언어를위한 적시 컴파일러가 있습니까? (명심해야 할 첫 번째 이름은 Clang과 LLVM입니다! 그러나 현재 지원하지는 않습니다.) 설명: 소프트웨어는 런타임 프로파일 링 피드백과 C 및 C ++와 같은 컴퓨터로 컴파일 된 언어에서도 런타임에 핫스팟을 적극적으로 최적화하여 재 컴파일함으로써 혜택을 얻을 수 있다고 생각합니다. 프로파일 가이드 …

5
조건을 여전히 확인해야하는 경우 분기 예측은 어떻게 작동합니까?
https://stackoverflow.com/q/11227809/555690 에서 Branch Prediction에 대한 인기있는 답변을 읽었으며 혼란스러운 점이 있습니다. 당신이 올바르게 추측하면 계속됩니다. 당신이 틀렸다고 생각하면, 선장이 멈추고, 백업하고, 스위치를 뒤집으라고 소리 칠 것입니다. 그런 다음 다른 경로를 다시 시작할 수 있습니다. 매번 제대로 추측 하면 기차를 멈출 필요가 없습니다. 너무 자주 잘못 추측 하면 기차가 멈추고 백업하고 …

2
순수한 추상 클래스 및 인터페이스 구현
비록 이것이 C ++ 표준에서는 필수는 아니지만, 예를 들어 GCC가 순수한 추상 클래스를 포함하여 부모 클래스를 구현하는 방식은 해당 클래스의 모든 인스턴스화에 해당 추상 클래스의 v 테이블에 대한 포인터를 포함시키는 것입니다. . 당연히 이것은이 클래스의 모든 인스턴스 크기를 가지고있는 모든 상위 클래스에 대한 포인터로 팽창합니다. 그러나 많은 C # 클래스와 …

9
"조기 최적화는 모든 악의 근원"에 대한 오해를 어떻게 처리 하는가?
나는 영어의 일반적인 의미에서 "최적화"로 간주 될 수있는 것에 대해 교리 적으로 반대하는 많은 사람들을 만났다. 내가 말하는 내용을 "조기 최적화"로 해석한다는 의미로 그들의 입장에 대한 정당성. 그러나 이러한 견해는 때로는 너무나 엄청나게 설득 되어 가장 순수한 "순진한"구현으로부터의 거의 모든 종류의 알고리즘 또는 데이터 구조 편차 또는 적어도 이전에 수행 …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.