2016-12-09 3 views
-4

Каковы основные области, которые делают C быстрым языком обработки по сравнению с языками, такими как java. Также всегда ли языки POP обрабатываются быстрее, чем языки OOPS?Разница в скорости Java и языков C

+2

На самом деле вы можете найти столько ресурсов по этой теме. –

+2

См.: Https://benchmarksgame.alioth.debian.org/u64q/java.html – Michael

+0

Хорошо, что есть ресурсы, но не с конкретным ответом, как с основным фактором для этого. – learner8269

ответ

-2

Я всегда понимал, что C быстрее, потому что вы можете контролировать сбор мусора. Вы создаете материал, когда вам это нужно, и удаляйте, когда вы этого не делаете. В Java это делается автоматически в некоторых особых точках. Хотя nowerdays java значительно улучшилась, и разница больше не такая большая.

+0

сбор мусора не вызывает большого беспокойства по поводу проблем с производительностью. –

0

C быстрее взаимодействует с оборудованием для компьютеров, одна из причин этого заключается в том, что при управлении использованием ресурсов компьютеров существует большая гибкость.

2

Прежде всего, я рекомендую вам взглянуть на самый рейтинговый ответ на эту тему: Compiled vs. Interpreted Languages (чтение абзацев 1, 2, 4 и 5 является сумасбродственным). Действительно, C - это то, что мы называем составленным языком, тогда как Java компилируется и интерпретируется.

Когда скомпилирована программа C, исходный исходный код преобразуется в нативные машинные инструкции, которые впоследствии могут выполняться непосредственно аппаратным обеспечением.

Когда программа Java скомпилирована, компилятор (вместо генерации машинного кода) сначала переводит исходный код во что-то, что мы называем bytecode. Впоследствии другая программа, называемая интерпретатором , проверит байт-код и динамически выполнит все действия, которые требуются.

Другой способ выразить это то, что интерпретируемый код переводится в машинные инструкции поэтапно во время выполнения программы, тогда как скомпилированный код был переведен до выполнения программы. - взято с What's the difference between compiled and interpreted language?.

По этой причине программы, написанные на скомпилированных языках, говорят, что они работают быстрее, чем те, которые написаны с использованием интерпретируемых языков (так что это одинаково для C и Java). Но это утверждение следует принимать с помощью соли, поскольку оно построено с теоретической точки зрения. В пратисе это не всегда так. Написание программы на C не обязательно означает, что она будет работать быстрее, чем Java-программа. Например, язык программирования C дает вам средства для оптимизации вашей программы. Но это может помочь, если вы сделаете это неправильно. Кроме того, процессоры становятся все быстрее и эффективнее. Таким образом, даже Java-код может быть полностью оптимизирован.

Надеюсь, я смог понять себя (я французский оратор и все еще нуждаюсь в улучшении своих навыков на английском языке).

+0

>> Действительно, C - это то, что мы называем скомпилированным языком. << Вот программа на C с интерпретатором C - https://benchmarksgame.alioth.debian.org/u32/program.php?test=nbody&lang=cint&id = 1 – igouy

Смежные вопросы