ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
22 декабря
965851 Топик полностью
fk0, легенда (19.12.2019 02:34, просмотров: 685) ответил RxTx на Едем дальше и по кускам.
Нет, именно на порядок запросто может быть. Дело не в лучшей компиляции AST в машинный код, дело в том, что AST совсем другое получается. C++ компилятор может видеть всю суть кода насквозь, до каждой последней строчки, где всё заинлайнено. А у скриптового языка может, и скорей всего, уткнётся в очередной слой диспетчеризации в рантайме и на этом всё кончится, дальше пойдут очень "эффективные" generic'и. Да, компилятор иногда знает где что лежит и может провести оптимизации. А иногда не знает. В случае C++ можно написать код, что будет всегда знать тип, и следовательно, все возможные функции для него вызываемые. Не потому, что он знает что в этой переменной константа такого типа, потому, что сам только что туда положил её. А потому, что там в принципе не может оказаться другого типа. Потому, что передачу информации о типе обеспечил, может быть косвенно, но ещё программист и тип нигде не стирался, потому, что есть полноценные типы, а не Object, String и Interger.
[ZX]