프로그래밍 언어의 성능 저하가 실제로 나쁜 것입니까? [닫은]


18

내가 보는 방법은 다음과 같습니다.

거기에 기계 코드는 그것은 실행 뭔가 순서로 모든 컴퓨터 요구를합니다. 컴퓨터는 프로그래밍 언어에 신경 쓰지 않습니다. 머신 코드가 Perl, Python 또는 PHP에서 온 것인지는 중요하지 않습니다. 프로그래밍 언어는 컴퓨터를 제공하지 않습니다. 그들은 프로그래머에게 봉사합니다.

일부 프로그래밍 언어는 다른 프로그래밍 언어보다 느리게 실행되지만 반드시 문제가있는 것은 아닙니다. 많은 경우 프로그래머가해야 할 일 (메모리 관리)을 더 많이 수행하기 때문에 이러한 일을 수행함으로써 프로그래머에게 더 나은 서비스를 제공 할 수 있습니다.

그렇다면 프로그래밍 언어의 성능 저하가 실제로 나쁜 것입니까?


22
어떤 식으로 느리게? 컴파일 시간, 런타임, 쓰기 시간, 다른 메트릭?
매트 엘렌

1
나는 단지 빠른 컴퓨터와 효율적인 기계 언어를 생성하는 컴파일러는 프로그래머가 많은 게으른 게 아니라는 것을 제외하고 는 분명히 좋다고 지적했다. 제품에 성능 문제가있는 경우 메모리 관리 및 알림과 같이 특정 항목이 "빠른"것으로 가정하기 때문입니다.
Mike Dunlavey

5
@Mike : 또는 Jeff가 최근 블로그에서 잘 정리 한 태도로 인해 프로그램이 느리게 실행됩니다. "알고리즘은 RAM 구매 방법을 모르는 사람들을위한 것입니다." 프로그램이 O (N log n) 시간이 아닌 입방 시간으로 실행되는 경우, 컴퓨터 전원은 실제로 큰 문제에 중요하지 않습니다.
David Thornley

2
@David : 서버에서 512Gb 이상의 RAM을 얻을 수 없으므로 더 나은 알고리즘을 작성해야합니다.
JBR 윌킨슨

2
병목 현상이있는 위치에 따라 다릅니다. 프로그램이 I / O에서 99.9 %의 시간을 기다리는 경우 프로그램 자체가 수 공식 어셈블러로 작성된 것보다 10 배 느리 든 문제가되지 않습니다.

답변:


50

나는 그것이 자동적으로 나쁘다고 생각하지 않습니다. 파이썬은 C ++보다 느리지 만, 둘 다 충분히 빠르면 , 느리 더라도 문제에 대한 최선의 선택이 될 수 있습니다 .

항상 트레이드 오프입니다. 작은 일회성 작업의 경우 동일한 작업을 수행하는 C ++ 앱보다 Python 스크립트를 작성하는 것이 훨씬 빠릅니다 (일반적인 예는 일종의 배치 텍스트 처리 또는 디렉토리 트리 탐색 및 파일에 대한 작업). 100x 속도는 느리지 만 10ms 또는 1000ms가 걸리더라도 실제로 신경 쓰지 않습니다. 쓰기 및 테스트에 절반의 시간이 걸릴 수 있기 때문입니다.

물론, 파이썬이 C ++만큼 빠르면 좋을 것입니다. 그래서 그런 의미에서 "느리게 = 나쁘다"는 당신의 진술에 동의합니다. 그러나 나는 그 트레이드 오프를 언제 결정할 것인지 결정할 수있는 한 (예 : std를 사용하여) 배열을 검사하지 않고 원하는 것을 빨리 실행하는 강력한 언어를 사용합니다. :벡터).


나는 "느리게 = 나쁘다"라고 말하지 않았다. 그럼에도 불구하고 의견을 보내 주셔서 감사합니다.
Emanuil Rusev

9
+1 '충분히 빠름'구현이 '너무 느리거나 빠르지 않을 때'느립니다. 다른 시간은 중요하지 않습니다.
Kirk Broadhurst

4
+1 '충분히 빠름'. 수행하는 작업에 따라 프로그래머의 시간은 실행 시간을 절약하는 것보다 훨씬 더 가치가있을 수 있습니다.
Jonas

3
@Jonas : 거의 그렇지 않습니다. 단지 프로그래머 급여를 보는 것뿐입니다. 앱이 "이리 와서 얼마나 힘든지, 혹독한 소프트웨어 더미"라고 소리 치면서 앱이 크롤링됨에 따라 사용자가 좌절감을 느끼는 것을 보지 못했습니다. 만약 그들이 느린 소프트웨어 v 빠른 소프트웨어의 TCO를 발표했다면, 우선 순위가 영업 부서에 즉시 변경되는 것을 보게 될 것입니다.
gbjbaanb

1
@ mcmcc : 나는 거기에 언어가 아니라 사용자 경험에 대해 이야기하고있었습니다. 버튼을 클릭하면 즉시 무언가가 발생해야합니다. 계산을 시작할 때 유용한 진행률 표시기가있는 한 시간이 걸리면 괜찮습니다.
Jonas

18

아주 간단합니다-느리다는 것은 나쁜 것입니다

프로그램이 특정 수준의 성능을 요구할

그 성능이 없으면 요구 사항을 충족하지 못 하기 때문 입니다.

허용 가능한 시간 내에 쿼리를 처리해야하는 비즈니스 응용 프로그램에서 화면에 많은 정보를 표시해야하는 게임에 이르기까지 모든 것이 될 수 있습니다. 프로그램이 충분히 빠르지 않으면 작동하지 않습니다 .


2
.. 그리고 종종 요구 사항은 일종의 "페이지를 가져 오기 위해 X 초 이상
걸리는

1
시스템이 다음 너무 느린 경우 예 @JBRWilkinson, 또는 새로운 성능 요구 사항이 갑자기 나타납니다)
커크 Broadhurst에게

12

이런 식으로보십시오 : 컴퓨터는 바보 입니다. 그들은 삼각 테이블이있는 모론이 따를 수있는 지시를 ploddingly 따릅니다. 그들은 당신이 의미하는 대신에 당신이 말한 것을 행하도록 강요합니다. 자기 지시 나 직관의 파쇄가 아닙니다. 끔찍 해요

컴퓨터가 가지고있는 한 가지는 빠릅니다. 정말! 파일 캐비넷이있는 너클 헤드는 데이터베이스와 동일한 작업을 수행 할 수 있습니다. 인쇄기를 아는 어떤 사람은 Apache가하는 일을 할 수 있습니다. 진심으로! 그리고 그들은 사실 수백, 수백 년 동안했습니다. 컴퓨터가 모든 것에 좋은 이유는 속도입니다.

따라서 (다른 언어와 비교하여) 프로그래밍 언어는 컴퓨터를 사용할 때의 유일한 이점이없는 악용에 실패합니다.


13
컴퓨터는 어리 석고 빠르며 예측 가능하지만 인간 은 가장 엉뚱한 반면, 대부분의 경우이 예측 가능성은 순전히 속도보다 훨씬 중요합니다.
SK-logic

5
모든 프로그래밍 언어는 컴퓨터 속도를 이용합니다. 오리지널 OLPC 컴퓨터 중 하나의 파이썬은 내가 할 수있는 것보다 훨씬 빠르게 일을합니다. 현재의 랩탑 (2 년 전에 구입했지만 당시 최고 수준은 아님)은 대부분의 방식으로 첫 번째 가정용 컴퓨터보다 약 10 억에서 100 만 배나 더 강력합니다.
David Thornley

4
말할 것도없이 컴퓨터는 사용하기 위해 많은 에너지 (특히 서버)를 소비하고 에너지 소비 (녹색 기술)에 대해 인식 된 걱정이 있으며 일반적으로 빠른 프로그램은 더 느린 프로그램으로 계산 (특히 서버에서 많이 소비하는)
Coyote21

4
@ SK-logic 컴퓨터 예측 성은 과장되어 있습니다. Joseph Weizenbaum이 매우 잘 지적했듯이, 큰 시스템은 너무 복잡 해져서 예측할 수 없으며 어떤 사람도 특정 처형의 결과를 예측할 수 없습니다. 그것은 믿음이나 희망의 문제가됩니다. 프로그램이 항상 의도 한대로 수행한다는 것을 공식적으로 증명할 수는 없습니다 (따라서 예측할 수 없음).
Omar Kohl

2
그러나 (실행 속도) 속도가 궁극적 인 목표라면 프로그램을 머신 코드로 작성하지 않는 이유는 무엇입니까?
Emanuil Rusev

5

프로그래밍 언어는 수준이 높고 "많이 할 것"이지만 여전히 빠릅니다. OCaml은 PHP보다 고급 언어이지만 C만큼이나 빠른 코드를 생성합니다. Javascript는 PHP만큼 역동적이지만 실제로는 빠르게 실행될 수 있습니다. 따라서 주로 디자인이 아닌 언어 구현과 관련된 문제입니다. 동적 언어는 효율적으로 구현하기가 어렵지만 불가능하지는 않습니다.


PHP와 같이 느리게 (실행 측면에서) 고려되는 언어를 더 빨리 실행하도록 구현할 수 있다고 생각하십니까?
Emanuil Rusev

1
젠드 옵티 마이저 누구?
user281377

다른 방법으로 물어 보도록하겠습니다. PHP를 구현할 때 속도가 느려지는 것은 무엇입니까?
Emanuil Rusev

6
예, 더 잘 구현할 수 있습니다. 예를 들어, 동적 유형을 전문화하는 추상 해석은 상당히 까다 롭고 아직 잘 연구되지 않았습니다. 정적 언어는 매우 효율적인 코드로 번역하기가 훨씬 쉽습니다. 따라서 PHP는 주로 동적이기 때문에 속도가 느립니다. 그리고 원래는 다른 많은 스크립팅 언어뿐만 아니라 매우 가난하고 비전문적 인 구현이었습니다.
SK-logic

Facebook에서 시작한 HipHop 컴파일러는 PHP를 C ++ 코드로 변환 할 수 있으므로 정말 빠릅니다.
JBR 윌킨슨

3

속도는 런타임, 초기 개발 시간 및 유지 관리 시간 (문제 / 버그를 뒤집고 새 코드를 생성하고 배포하는 데 걸린 시간)으로 측정 할 수 있습니다.

스크립팅 언어는 일반적으로 전체 시스템을 재 구축 할 필요없이, 때로는 중지하고 다시 시작할 필요없이 빠르게 변경하고 배포 할 수 있기 때문에 런타임이 느리지 만 유지 관리 시간이 더 빠릅니다.

따라서 많은 속도는 필요한 속도에 따라 균형을 이룹니다.

상황도 중요합니다. 0.1 초 대신 0.5 초가 걸리는 초기 구성을로드하는 것은 큰 문제가 아니지만 런타임에 100 초를 처리해야하는 경우 0.1 초 대신 쿼리를 수행하는 데 0.5 초가 걸리면 큰 문제가 될 수 있습니다. 10.


100ms는 사용자 인식에있어 즉각적인 순간입니다. 500ms가 눈에.니다. 사용자가 쿼리를 수행하는 경우 워크 플로에서 눈에 띄는 차이입니다.
David Thornley

3

단순성-고객은 빠른 소프트웨어를 좋아합니다. 실제로 컴퓨터의 전체 목적은 빠르게 계산하는 것입니다.


11
실제로는 틀 렸습니다. 고객은 예산 내에서 요구 사항을 충족시키는 소프트웨어를 좋아합니다. 화면이 15 초가 아닌 19 밀리 초가 걸리더라도 신경 쓰지 않아도됩니다. 왜냐하면 15 초가 걸리지 않으면 다른 것입니다. 또한 "빠른 언어"를 사용하는지 여부는 신경 쓰지 않으며 사양과 예산 범위 내에서 성능을 발휘하는 것을 원합니다.
jwenting February

4
19ms 대 15ms는 차이를 만들지 않지만 500ms 대 300ms는 확실히 차이가 있으며 성공적인 제품과 실패간에 차이를 만들 수 있습니다.
Nemanja Trifunovic

2
+1 "고객은 예산 내에서 요구 사항을 충족시키는 소프트웨어를 좋아합니다." 반면에 대기업의 직원과 같이 소프트웨어 비용을 직접 지불하지 않는 특정 최종 사용자는 실제로 개발 비용에 신경 쓰지 않습니다. 물론 소프트웨어 공급 업체로서 가장 중요한 작업은 실제로 비용을 지불하는 사람들을 행복하게하는 것입니다.
Zsolt Török

@ Zsolt : 그것은 실제로 개발중인 소프트웨어의 종류에 달려 있습니다. 나는 일반적으로 최종 사용자가 제품에 대해 직접 비용을 지불하거나 구매 결정에 영향을 미치는 제품을 연구합니다. 사양을 제공하지 않고 예산에 신경 쓰지 않습니다. 어쩌면 "고객"보다는 "사용자"라는 용어를 사용했을 것입니다.
Nemanja Trifunovic

4
개발자가 아닌 사용자로서 말하면, 일반적인 응답 성 (주 : 속도와 다른)이 한 프로그램을 다른 프로그램보다 선택하기로 결정한 주요 요인이라고 말할 수 있습니다. 이것이 제가 예를 들어 Java 애플리케이션을 거의 사용하지 않는 이유 중 하나입니다. JVM에서만 시작 시간은이 영역에서 -5000 포인트로 시작하는 앱을 생성합니다. 진지하게, 응답 성은 제품 UI가 어수선하거나 효과적이라는 차이를 만들 수 있으며, 때로는 사용하는 언어가 끊김을 유발하거나 디스크 i / o 대기 시간이 길어지면 달성하기 어려울 수 있습니다.
Billy ONeal

3

상대적으로 느립니다. 초당 10 번 포트를 읽어야하는 경우 바이너리를 만들 수없는 언어는 너무 느립니다. 서버와 브라우저 / 클라이언트 간의 요청 / 응답 순서가 초 단위로 측정되고 사용자가 버튼을 클릭하기 전에 화면에서 몇 분을 보낼 수있는 웹 응용 프로그램을 작성하는 경우 요청 처리를 처리 할 수있는 프로그래밍 언어 1 초 안에 아마도 충분히 빠를 것입니다 (물론 훨씬 빠릅니다).

물론 프로그래밍 언어는 실행 속도를 결정하는 요인이 될 수 있지만 언어 자체가 아니라 컴파일러 및 / 또는 런타임과 함께 제공되는 런타임입니다. JVM의 성능 (동일한 하드웨어 환경에서도)이 수년에 걸쳐 급격히 증가한 Java의 개발을 분명히 알 수 있습니다. 물론 어떤 환경에서든 아주 느린 코드를 작성할 수 있습니다. "C ++이 Java보다 10 배 빠릅니다"와 같은 주장은 테스트 된 조건과 방법에 대해 자격을 부여하고 수량화하지 않는 한 자동으로 가짜입니다. Java가 C ++보다 빠른 테스트를 작성하는 것도 동일하게 가능하며 테스트 코드로 사용하는 대상과 실행 방법에 따라 다릅니다.


3

프로그래밍 언어는 프로그래머에게 서비스를 제공하기 위해 존재하지 않기 때문에 사용자 에게 서비스를 제공하기위한 프로그램을 생성하기 위해 존재 합니다.

한 번만 수행하는 간단한 작은 개인 도구가 필요한 경우 원하는 속도가 느려질 수 있습니다. 그러나 일단 사용자에게 배포를 시작하면 특히 반복적으로 사용하려는 경우 속도와 확장에 관심이 있습니다. (예를 들어, 설치 프로그램이 느려질 수 있습니다. 설치하는 프로그램이 더 나을 수는 없었습니다.) 그리고 언어 만이 아닙니다. 프로그램 전체입니다. 프로그램이 느리면 사용자가 좋아하지 않습니다. 경쟁이 있다면 프로그램을 좋아하지 않는 사용자는 매우 나쁜 것입니다. 따라서 프로그램을 좋아하지 않는 사용자에게 기여하는 언어는 느리게 만듭니다.

방송 미디어 용 제어 소프트웨어를 작성하는 팀의 일원입니다. 미국에있는 경우 좋아하는 TV 또는 라디오 방송국이 TV에서 실행될 가능성이 큽니다. 성능은 고객으로부터 가장 자주 듣는 것 중 하나입니다. 원래 단일 스테이션 작업용으로 작성되었지만 지금은 수백 개의 채널로 주요 브로드 캐스트 및 케이블 네트워크에 서명하고 있으며 규모가 문제가되고 있습니다. 우리가 일을 빨리 처리 할 수 ​​없다면 그들은 수백만 달러 규모의 계약을 할 수있는 사람들과 계약을 맺게되고 결국 일을 마칩니다. 그렇기 때문에 우리는 컴파일 된 빠른 언어를 사용하고 데이터베이스를 최적화합니다.


3

빠를수록 좋습니다. 시간은 돈이다. 서버 소프트웨어를 작성하고 더 느린 프로그래밍 언어를 사용하는 경우 더 많은 서버를 구입하십시오. 축소 포장 된 소프트웨어를 작성하면 고객이 더 빠른 경쟁자를 잃게됩니다.

사람들이 사용하는 모든 종류의 지속적인 소프트웨어에 대해, 우리는 일반적으로 가능한 빨리 소프트웨어를 원합니다. 어셈블리 수준에서는 시장 출시 시간이 너무 많아 수익성이 떨어집니다. 모든 절충점입니다. 비즈니스 관점에서 보면, 몇 개월 이상 그 일을, C ++로 가난한 프로그래머 디버그 메모리 오류를 수 있도록하는 것이 더 수익성이있을 경우 그 제품이 빠르게 경쟁자보다 의미한다.

따라서 많은 소프트웨어 에서 속도가 실제로 중요 합니다. 느린 언어는 요즘 너무 느리기 때문에 "나쁜"것으로 간주됩니다 (Python은 쉽게 50x-100x 느릴 수 있으며 너무 큽니다)


2

프로그래머에게 서비스를 제공하기 위해 프로그래밍 언어가 존재합니다.

나는 당신이이 결론에 어떻게 왔는지 모르겠습니다. 내가 말할 것이다 : 소프트웨어 엔지니어가 사용하는 자신의 요구에 대한 프로그래밍 언어를.

일부 프로그래밍 언어는 다른 프로그래밍 언어보다 느리지 만 문제가있는 것은 아닙니다.

이것은 또한 성명서입니다. 여기서 '느리게'라는 단어를 사용하여 의미를 정의하십시오. 느리게 의미 할 수 있습니다.

  1. 같은 것을 달성하는 최종 프로그램은 다른 언어에 비해 한 언어로 '느리게'실행됩니다.
  2. 최종 프로그램을 만드는 데 걸리는 시간이 길어질 수 있습니다 (따라서 일부는 '느린'것으로 설명합니다).

이 두 가지 문제는 개발과 성능에 소요되는 시간 사이에 어떤 종류의 상충 관계가 있는지와 관련이 있습니다.


3
"소프트웨어 엔지니어는 필요에 따라 프로그래밍 언어를 사용합니다"라고 말하고 있습니다. 이것은 "프로그래밍 언어가 존재하여 프로그래머에게 서비스를 제공한다"는 진술 만 지원합니다.
Emanuil Rusev

1
소프트웨어 엔지니어는 프로그래밍 언어를 사용하여 문제를 해결할 수 있습니다 (일반적으로 자체는 아니지만 클라이언트의 문제).
Péter Török

@Emanuil : 나는 "해머가 핸디맨 / 인간에게 서비스를 제공한다"고 말하지는 않지만, 해머는 작업을 완료하는 데 사용됩니다 (예 : 손톱 망치, 마음에 들지 않는 사람을 때리는 등). @ 피터 : 얼마나 많은 사람들이 '@ 피터'를 쓰는지 궁금합니다. 그러나 모든 것에 대해 '문제'라는 용어를 만들 수 있다면 , 우리의 진술은 사실상 동의어라고 생각합니다.
JK

1

다른 소프트웨어와 마찬가지로 속도가 느리면 근본적인 문제 / 디자인이 잘못 될 수 있습니다. 디자인은 약간의 자이언트 주의자이지만, 이것은 현재 그것이 기반으로하는 디자인 원칙이 구식이며 '나쁜'것으로 간주된다는 사실을 방해하지 않습니다.

Classic ASP 및 ASP.net을 예로 들어 보겠습니다.


1

누군가는 "고객은 예산 내에서 요구 사항을 충족시키는 소프트웨어를 좋아합니다"라고 언급했습니다. 글쎄, 이것은 사실입니다-그러나 느린 소프트웨어와 상당히 관련이 있으며, 거의 정의상 느린 프로그래밍 언어 (및 프레임 워크)와 알고리즘 및 구성을 의미합니다. 느린 프로그래밍 언어는 아마도 변경하기 가장 어려운 기초이기 때문에 아마도 위의 모든 것 중 가장 중요한 부분 일 것입니다. Oracle DB를 사용하고 더 많은 성능이 필요한 경우 테이블 / 인덱스 등을 최적화 할 수 있습니다. 쉬운. 코드에 알고리즘이 좋지 않은 경우 다른 코드를 작성할 수 있습니다. 프레임 워크가 느리면이를 교체 할 수 있습니다. 쉽지는 않지만 모든 것을 다시 쓰지 않고도 가능합니다. 언어가 너무 느리면 실제로 다시 시작해야합니다.

확장이 필요할 때 PHP가 충분히 빠르게 작동하도록하는 번거 로움에 대해서는 Facebook을 참조하십시오.

우리 중 나머지 사람들에게는 '비 기능적 성능 요구 사항'이 종종 사양, 특히 확장 가능한 웹 앱의 사양에 기록됩니다. '요청 후 2 초 내에 페이지가 사용자에게 표시되어야합니다.'를 이행하지 못하면 계약을 잃거나 불이익을받습니다. 따라서 고객은 요구를 충족시키는 소프트웨어를 좋아합니다. 사용자가 모래 시계를 응시하는 데 시간이 걸리지 않지만 고객은 확실히 비용이 많이 듭니다.

예를 들어, 대규모 콜 센터에서 나는 매 초마다 콜 테이킹 프로세스를 절약 할 수 있다고 결정했으며 1 콜 테이커가 '다운 사이징'될 수 있다고 말했습니다. 그것은 실로 돈이며, 보스가 더 빠르고 효율적이며 더 유용한 소프트웨어를 얻는 데 큰 동기가됩니다.

프로그래머가 코드를 최대한 빨리 생성하는 것에 대해 걱정하는 데 많은 시간이 소요됩니다 (그리고 단위 테스트와 리팩토링, lol). 나는 이것이 사람들이 생각하는 것만 큼 중요하지 않다는 것을 발견했다. 만약 당신이 당신의 언어 전문가라면, 경험이없는 것보다 훨씬 빨리 코딩 할 수있다. 따라서 전문가 C ++ 개발자는 초보자 PHP 개발자보다 더 빠르고 정확하게 코드를 작성할 수 있습니다. 그래서 저는 '쉬운'언어를 선택하는 것보다 전문가가되는 것이 더 중요하다고 생각합니다. 이것이 바로 오늘날 어디에나 존재하는 '시원하고 새로운 것에서 다시 쓰기'의 숭배를 싫어하는 이유입니다.


1

프로그래머가 나쁜 일을했기 때문에 언어가 너무 느리지 않기 때문에 대부분의 성능 문제가 있음을 지적합니다. 실제로, 선택한 언어보다 성능에 대해 걱정해야 할 것이 더 많습니다. 그것은 내 목록에서 대략 1,203,407 번째입니다.


0

그렇다면 프로그래밍 언어의 성능 저하가 실제로 나쁜 것입니까?

다른 모든 것이 평등하고 빠르게 진행되는 것이 좋습니다. 결국, 아무도 실제로는 더 이상 어떤 결과를 기다리기를 원하지 않으며, 그 결과가 완료되면 다른 것을위한 자원을 확보 할 수 있습니다.

그러나 다른 모든 것이 동일하지는 않습니다. 우선, 올바른 결과 를 얻 거나 적어도 충분해야합니다. (완전히 잘못된 결과가 허용되는 경우 결과를 매우 빠르게 생성 할 수 있으며 다른 사람에게는 전혀 가치가 없습니다.) 다소 느린 언어로 변경하면 올바른 결과가 나올 가능성이 높아집니다. 큰 절충. 높은 수준의 언어는 여기에서 낮은 수준의 언어에 비해 이점이 있습니다. 풍부한 모델 세트는 일반적으로 많은 명시적인 세부 사항없이 복잡한 문제를 쉽게 표현할 수 있기 때문입니다.

일반적으로 소프트웨어 제작 비용을 우선 관리하고, 원하는대로 새 기능을 추가하고, 기본 시스템이 변경 될 때 작동 상태를 유지하는 것이 중요합니다. 높은 수준의 언어는 일반적으로 더 빠른 프로그래밍 처리 시간을 허용하며 예산 내에서 프로그래밍 비용을 유지하는 데 많은 가치가 있습니다. 실제로, 비용을 낮추면 전반적으로 더 다양한 것들이 달성 될 수 있으며, 이는 일반적으로 좋은 일입니다.

마지막으로 중요한 점은 하나의 언어 만 사용할 필요없으며 많은 소프트웨어 시스템의 구성 요소 대부분이 성능에 중요하지 않다는 것입니다. 핵심 언어를위한 고성능 컴포넌트를 제작하기 위해 저수준 언어를 사용하는 것이 현명한 반면, 덜 중요한 부분을 고수준 언어로 남겨 두는 것은 눈에 띄게 의미가 있습니다. 더욱이, 좋은 저수준 언어를 만드는 기능 (기계가하는 일을 정확하게 제어하는 ​​기능)은 좋은 고수준 언어를 만드는 기능 (훨씬 작은 설명에서 세부 사항을 추론하는 기능)이 아닙니다. 정반대입니다, 그래서 그들을 결합하고 그들의 강점을 위해 그들을 사용하고 그들의 약점을 피할 수있는 것은, 정말 좋은 일입니다.

어떤 구성 요소가 고성능 치료를 받아야합니까? 최적화? 그들을 측정하십시오 . 그들을 프로파일하십시오 . 추측하기보다는 진실을 찾으십시오. 가장 좋은 곳에 노력을 집중하십시오.

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