2011-07-30 1 views

답변

3

버퍼 오버플로를 확인하고 쓰레기를 수집하는 데는 비용이 듭니다. 이러한 기능이 필요한 경우 이 아닌은 C/C++의 속도를 얻습니다. 거래.

자바와 C#은 매우 비슷합니다. 은 대부분입니다. 매우 구체적인 것을 필요로하지 않는 한,이 두 언어 중 하나를 사용하는 것이 좋습니다.

C++ 용 가비지 수집기가 필요한 경우 you can get one here.

2

D을 살펴볼 수 있습니다. 가비지 콜렉션 및 일부 다른 기능 외에도 C++의 대부분의 기능이 포함 된 컴파일 된 언어입니다.

2

"속도"는 응용 프로그램에 따라 크게 다릅니다. JVM은 특정 종류의 코드에서 빠르다. 핫스팟은 실제로 네이티브 코드보다 빠를 수있다. 반면에, 기능적 스타일과 좋은 최적화는 적은 코드로 좋은 성능을 얻을 수있게 해줍니다. 하스켈 앱은 종종 C 언어의 앱만큼 빠른 속도로 실행됩니다.

Java/C# 및 C++의 진정한 크로스 가장보기 좋은 곳은 D 언어입니다. 그것은 가비지 콜렉션을 가지고 있으며, mallocfree에 선택적으로 액세스 할 수 있으며 C 레벨 성능을위한 인라인 어셈블리조차도 가능합니다. 버퍼 오버 플로우에 덜 취약하기 때문에 안전성이 충분하지만 여전히 버퍼 오버플로를 유지할 수 있습니다. http://www.digitalmars.com/d/2.0/index.html

언제든지 C/C++를 가비지 수집 할 수 있지만 비용이 많이 듭니다. Java, Haskell, ML, 심지어 파이썬은 포인터가 될 수있는 값을 알고있는 가비지 콜렉터를 사용할 수 있으므로 C, C++ 또는 D에 대해 콜렉터를 사용하는 것보다 빠릅니다.

관련 문제