русский
Germany.ruForen → Архив Досок→ Programmierung

вес проги

461  1 2 alle
  Kislosladkaja коренной житель26.02.08 14:33
NEW 26.02.08 14:33 
for(;;) and while() одной длинны но for(;;) да╦т вам две свободных точки с запятой.
Вопрос: скорость обработки данных и вес зависит от длинны операторов? Я правильно поняла чтоб программа весила меньше мне надо и переменные и константы называть очень сокращ╦нно и думать какие операторы можно заменить какими чтоб было меньше написанно?
ПС: есть в русском языке сокращение для точки с запятой ; типа как двоеточие ?
ППС: попрашу ответ(ы) в упращ╦нной форме для меня!
#1 
NightWatch старожил26.02.08 14:59
NightWatch
NEW 26.02.08 14:59 
in Antwort Kislosladkaja 26.02.08 14:33, Zuletzt geändert 26.02.08 15:04 (NightWatch)
В ответ на:
Я правильно поняла чтоб программа весила меньше
Не программа, а текстовый файл с исходным кодом. То, что ты пишешь в исходниках и то, что получится после компиляции мягко говоря не совсем одно и то же. Если посмотреть уже откомпилированный код, то for(;;); короче чем while(1); .
В ответ на:
переменные и константы называть очень сокращённо
Для откомпилированного файла названия переменных не имеют никакого смысла. Вместо имен все равно будут подставлены адреса.
#2 
  Kislosladkaja коренной житель26.02.08 15:51
NEW 26.02.08 15:51 
in Antwort NightWatch 26.02.08 14:59
В ответ на:
откомпилированный код, то for(;;); короче чем while(1); .

а почему???????
#3 
kashej постоялец26.02.08 16:05
kashej
NEW 26.02.08 16:05 
in Antwort NightWatch 26.02.08 14:59
В ответ на:
Если посмотреть уже откомпилированный код, то for(;;); короче чем while(1);

Уверен что от языка не зависит?
http://denis-aristov.ucoz.com
#4 
NightWatch старожил26.02.08 17:40
NightWatch
NEW 26.02.08 17:40 
in Antwort kashej 26.02.08 16:05
Я бы сказал, зависит от компилятора.
#5 
NightWatch старожил26.02.08 17:52
NightWatch
NEW 26.02.08 17:52 
in Antwort Kislosladkaja 26.02.08 15:51
Потому что for(;;); компилируется (к примеру майкрософтским с++ компилятором) в одну машинную команду jmp, поскольку нет проверки на условие выхода из цикла,
а while(1) в 4: mov, test, je и jmp, так как проверяется условие.
Так что for(;;); выполняется в 4 раза быстрее.
Но после оптимизатора оба варианта будут, вероятно, просто jmp.
#6 
NightWatch старожил26.02.08 18:27
NightWatch
NEW 26.02.08 18:27 
in Antwort Kislosladkaja 26.02.08 14:33
В ответ на:
ПС: есть в русском языке сокращение для точки с запятой ; типа как двоеточие ?
тчксзпт?
#7 
  Kislosladkaja коренной житель26.02.08 18:41
NEW 26.02.08 18:41 
in Antwort NightWatch 26.02.08 17:52
В ответ на:
Потому что for(;;); компилируется (к примеру майкрософтским с++ компилятором) в одну машинную команду jmp, поскольку нет проверки на условие выхода из цикла,

а как посматреть в турбо паскале какой оператор в сколько машынных команд компилируется? :) если это вазможно вабще....
#8 
  Kislosladkaja коренной житель26.02.08 18:46
NEW 26.02.08 18:46 
in Antwort NightWatch 26.02.08 17:52
кстати вот наш супер программер выдал эту фразу каторая мне не да╦т спать
В ответ на:
for(;;) and while() одной длинны for(;;) но фор да╦т вам два свабодных тчкзпт :)

Так вот, я не вьежаю о какой длинне он гаварит (о числе букв в имени оператора чтоли?) я так понимаю что он намикает на то что длинна та же а в фор можно использовать две точки с запятой. или как раз тот оптимизатор в компиляторе уравнял операторы к одной машынной каманде - и эта длинна имеется ввиду?
#9 
NightWatch старожил26.02.08 18:55
NightWatch
NEW 26.02.08 18:55 
in Antwort Kislosladkaja 26.02.08 18:46
Сложно сказать.
Мне тоже стало интересно какое преимущество мне дают тчксзптые. Причем свободные. Наверное, занятые не так ценяться...
#10 
  Kislosladkaja коренной житель26.02.08 19:35
NEW 26.02.08 19:35 
in Antwort NightWatch 26.02.08 18:55, Zuletzt geändert 26.02.08 19:36 (Kislosladkaja)
:))))) занятые тяжелее
#11 
GANDJUBAS Ганджубас27.02.08 11:48
GANDJUBAS
NEW 27.02.08 11:48 
in Antwort Kislosladkaja 26.02.08 14:33
В ответ на:
Вопрос: скорость обработки данных и вес зависит от длинны операторов? Я правильно поняла чтоб программа весила меньше мне надо и переменные и константы называть очень сокращённо и думать какие операторы можно заменить какими чтоб было меньше написанно?

Для обычных языков это не играет никакой роли, как уже писали. Максимум, что может быть, на какие-то миллисекунды дольше будет длиться компиляция.
Эксперименты показывают, что длинные названия переменных (>20 символов) немного замедляют скриптовые языки, так как код постоянно парсится. но тоже счёт идёт в миллисекундах.
#12 
  Kislosladkaja коренной житель27.02.08 11:57
NEW 27.02.08 11:57 
in Antwort GANDJUBAS 27.02.08 11:48
речь шла о PHP тоесть вс╦таки именно количество символов в операторе влияет на скорость ? а не количество машынных команд в обоих операторах?
#13 
AlexOtt завсегдатай27.02.08 20:27
AlexOtt
NEW 27.02.08 20:27 
in Antwort GANDJUBAS 27.02.08 11:48
во многих вменяемых скриптовых языках уже давно есть JIT, так что парсинг происходит один раз
#14 
  scorpi_ скептик27.02.08 20:45
NEW 27.02.08 20:45 
in Antwort AlexOtt 27.02.08 20:27
В ответ на:
во многих вменяемых скриптовых языках уже давно есть JIT

Смелое заявление. И в какие же скриптовые языки, окромя ActionScript, встроен JIT?
#15 
AlexOtt завсегдатай27.02.08 21:18
AlexOtt
NEW 27.02.08 21:18 
in Antwort scorpi_ 27.02.08 20:45
scheme в качестве примера пойдет? :-)
lua насколько я помню тоже имеет. Perl6 также
#16 
  scorpi_ скептик27.02.08 22:21
NEW 27.02.08 22:21 
in Antwort AlexOtt 27.02.08 21:18, Zuletzt geändert 27.02.08 22:22 (scorpi_)
Perl 6 ещё не вышел. В остатке имеем MzScheme и LuaJIT. Две малоиспользуемые имплементации конечно же тянут на "многие" и "давно".
#17 
AlexOtt завсегдатай28.02.08 07:23
AlexOtt
NEW 28.02.08 07:23 
in Antwort scorpi_ 27.02.08 22:21
я говорил про вменяемые, а не про распространенные - а тут уже у каждого свой выбор :-)
#18 
VseNikiZanyati гость28.02.08 10:43
28.02.08 10:43 
in Antwort Kislosladkaja 27.02.08 11:57
> речь шла о PHP тоесть вс╦таки именно количество символов в операторе влияет на скорость ? а не количество машынных команд в обоих операторах?
Моя ты, дорогая, так нужно сразу говорить о ч╦м речь ид╦т, о компиляторе (Pascal/ C, C++) или об интерпретаторе(PHP например).
Не так уж принципиально какой ты циклик(есть там конечно небольшая разница в скорости) в ПХП используешь, а на сч╦т длинны переменных и констант - тут да, длинна скажется на скорости исполнения скрипта.
#19 
Simple Nothing is f*cked28.02.08 11:25
Simple
NEW 28.02.08 11:25 
in Antwort GANDJUBAS 27.02.08 11:48
офф: по-моему, это развод.
#20 
1 2 alle