Когда сборка происходит быстрее, чем C?

Прочитайте это и попробуйте, это поможет вам:

Таблица1

column11,column12,column13,column14

Таблица2

column21,column22,column23,column24


SELECT table1.column11,table1.column12,table2asnew1.column21,table2asnew2.column21 
FROM table1 INNER JOIN table2 AS table2asnew1 ON table1.column11=table2asnew1.column21  INNER TABLE table2 as table2asnew2 ON table1.column12=table2asnew2.column22

table2asnew1 - это пример таблицы 2, который соответствует table1.column11=table2asnew1.column21

и

table2asnew2, является еще одним экземпляром таблицы 2, который сопоставляется table1.column12=table2asnew2.column22

447
задан 6 revs, 5 users 62% 3 January 2018 в 15:58
поделиться

31 ответ

Вмешивание исторически.

, Когда я был намного младшим человеком (1970-е), ассемблер был важен, по моему опыту, больше для размера кода, чем скорость кода.

, Если модуль на высокоуровневом языке был, скажем, 1 300 байтов кода, но ассемблерная версия модуля составляла 300 байтов, это, 1K байты были очень важны, когда Вы пытались вместить приложение в 16K или 32K памяти.

Компиляторы не были большими в то время.

В таком, как в старые добрые времена Фортране

X = (Y - Z)
IF (X .LT. 0) THEN
 ... do something
ENDIF

компилятор в то время сделал ВЫЧИТАТЬ инструкцию, затем ТЕСТОВУЮ инструкцию относительно X. В ассемблере Вы просто проверили бы код условия (нуль LT, нуль, нуль GT) после вычитания.

Для современных систем и компиляторов ничего подобного не беспокойство.

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

И с конвейерной обработкой и предварительным вычислением, включающим условные выражения, когда компилятор делает "ответвление-likley"

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

, Но в основном, это больше не необходимо для общего программиста, кроме иметь основное понимание того, как код мог бы быть скомпилирован и выполнен.

1
ответ дан 22 November 2019 в 22:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: