Вход на сайт
вес проги
26.02.08 14:33
for(;;) and while() одной длинны но for(;;) да╦т вам две свободных точки с запятой.
Вопрос: скорость обработки данных и вес зависит от длинны операторов? Я правильно поняла чтоб программа весила меньше мне надо и переменные и константы называть очень сокращ╦нно и думать какие операторы можно заменить какими чтоб было меньше написанно?
ПС: есть в русском языке сокращение для точки с запятой ; типа как двоеточие ?
ППС: попрашу ответ(ы) в упращ╦нной форме для меня!
Вопрос: скорость обработки данных и вес зависит от длинны операторов? Я правильно поняла чтоб программа весила меньше мне надо и переменные и константы называть очень сокращ╦нно и думать какие операторы можно заменить какими чтоб было меньше написанно?
ПС: есть в русском языке сокращение для точки с запятой ; типа как двоеточие ?
ППС: попрашу ответ(ы) в упращ╦нной форме для меня!
NEW 26.02.08 14:59
В ответ на:
Я правильно поняла чтоб программа весила меньше
Не программа, а текстовый файл с исходным кодом. То, что ты пишешь в исходниках и то, что получится после компиляции мягко говоря не совсем одно и то же. Если посмотреть уже откомпилированный код, то for(;;); короче чем while(1); . Я правильно поняла чтоб программа весила меньше
В ответ на:
переменные и константы называть очень сокращённо
Для откомпилированного файла названия переменных не имеют никакого смысла. Вместо имен все равно будут подставлены адреса.переменные и константы называть очень сокращённо
NEW 26.02.08 17:52
в ответ Kislosladkaja 26.02.08 15:51
Потому что for(;;); компилируется (к примеру майкрософтским с++ компилятором) в одну машинную команду jmp, поскольку нет проверки на условие выхода из цикла,
а while(1) в 4: mov, test, je и jmp, так как проверяется условие.
Так что for(;;); выполняется в 4 раза быстрее.
Но после оптимизатора оба варианта будут, вероятно, просто jmp.
а while(1) в 4: mov, test, je и jmp, так как проверяется условие.
Так что for(;;); выполняется в 4 раза быстрее.
Но после оптимизатора оба варианта будут, вероятно, просто jmp.
NEW 26.02.08 18:41
а как посматреть в турбо паскале какой оператор в сколько машынных команд компилируется? :) если это вазможно вабще....
в ответ NightWatch 26.02.08 17:52
В ответ на:
Потому что for(;;); компилируется (к примеру майкрософтским с++ компилятором) в одну машинную команду jmp, поскольку нет проверки на условие выхода из цикла,
Потому что for(;;); компилируется (к примеру майкрософтским с++ компилятором) в одну машинную команду jmp, поскольку нет проверки на условие выхода из цикла,
а как посматреть в турбо паскале какой оператор в сколько машынных команд компилируется? :) если это вазможно вабще....
NEW 26.02.08 18:46
в ответ NightWatch 26.02.08 17:52
кстати вот наш супер программер выдал эту фразу каторая мне не да╦т спать
Так вот, я не вьежаю о какой длинне он гаварит (о числе букв в имени оператора чтоли?) я так понимаю что он намикает на то что длинна та же а в фор можно использовать две точки с запятой. или как раз тот оптимизатор в компиляторе уравнял операторы к одной машынной каманде - и эта длинна имеется ввиду?
В ответ на:
for(;;) and while() одной длинны for(;;) но фор да╦т вам два свабодных тчкзпт :)
for(;;) and while() одной длинны for(;;) но фор да╦т вам два свабодных тчкзпт :)
Так вот, я не вьежаю о какой длинне он гаварит (о числе букв в имени оператора чтоли?) я так понимаю что он намикает на то что длинна та же а в фор можно использовать две точки с запятой. или как раз тот оптимизатор в компиляторе уравнял операторы к одной машынной каманде - и эта длинна имеется ввиду?
NEW 27.02.08 11:48
Для обычных языков это не играет никакой роли, как уже писали. Максимум, что может быть, на какие-то миллисекунды дольше будет длиться компиляция.
Эксперименты показывают, что длинные названия переменных (>20 символов) немного замедляют скриптовые языки, так как код постоянно парсится. но тоже счёт идёт в миллисекундах.
в ответ Kislosladkaja 26.02.08 14:33
В ответ на:
Вопрос: скорость обработки данных и вес зависит от длинны операторов? Я правильно поняла чтоб программа весила меньше мне надо и переменные и константы называть очень сокращённо и думать какие операторы можно заменить какими чтоб было меньше написанно?
Вопрос: скорость обработки данных и вес зависит от длинны операторов? Я правильно поняла чтоб программа весила меньше мне надо и переменные и константы называть очень сокращённо и думать какие операторы можно заменить какими чтоб было меньше написанно?
Для обычных языков это не играет никакой роли, как уже писали. Максимум, что может быть, на какие-то миллисекунды дольше будет длиться компиляция.
Эксперименты показывают, что длинные названия переменных (>20 символов) немного замедляют скриптовые языки, так как код постоянно парсится. но тоже счёт идёт в миллисекундах.
NEW 28.02.08 10:43
в ответ Kislosladkaja 27.02.08 11:57
> речь шла о PHP тоесть вс╦таки именно количество символов в операторе влияет на скорость ? а не количество машынных команд в обоих операторах?
Моя ты, дорогая, так нужно сразу говорить о ч╦м речь ид╦т, о компиляторе (Pascal/ C, C++) или об интерпретаторе(PHP например).
Не так уж принципиально какой ты циклик(есть там конечно небольшая разница в скорости) в ПХП используешь, а на сч╦т длинны переменных и констант - тут да, длинна скажется на скорости исполнения скрипта.
Моя ты, дорогая, так нужно сразу говорить о ч╦м речь ид╦т, о компиляторе (Pascal/ C, C++) или об интерпретаторе(PHP например).
Не так уж принципиально какой ты циклик(есть там конечно небольшая разница в скорости) в ПХП используешь, а на сч╦т длинны переменных и констант - тут да, длинна скажется на скорости исполнения скрипта.
NEW 28.02.08 12:02
в ответ GANDJUBAS 27.02.08 11:48
Эксперименты показывают, что длинные названия переменных (>20 символов) немного замедляют скриптовые языки, так как код постоянно парсится. но тоже счёт идёт в миллисекундах.
------
Несколько лет назад один чудик на полном серьезе уверял, что скорость работы транслятора зависит от того, из какой части таблицы символов используются символы для написания имен переменных. Я ему, помнится, объяснил, что такое автомат лексического анализа и как он работает - машина состояний, символ в качестве индекса, новое состояние... Вроде понял. Даже включил в свою рассылку какие-то изменения... Прошли несколько лет... смотрел, что он пишет - и он таки опять на полном серьезе ставит время трансляции в зависимосимость от того, какие буковки использованы...
Хммм... хотя... может он и прав? Имея в виду, что он пишет в отношениии одной из биллиных поделок? :)
------
Несколько лет назад один чудик на полном серьезе уверял, что скорость работы транслятора зависит от того, из какой части таблицы символов используются символы для написания имен переменных. Я ему, помнится, объяснил, что такое автомат лексического анализа и как он работает - машина состояний, символ в качестве индекса, новое состояние... Вроде понял. Даже включил в свою рассылку какие-то изменения... Прошли несколько лет... смотрел, что он пишет - и он таки опять на полном серьезе ставит время трансляции в зависимосимость от того, какие буковки использованы...
Хммм... хотя... может он и прав? Имея в виду, что он пишет в отношениии одной из биллиных поделок? :)
NEW 28.02.08 23:55
в ответ Murr 28.02.08 12:02
Надо искать, мне сейчас лень. Но где-то есть. Специально проводили эксперимент с разными вариантами. Не только длинна переменной, но и длина ключа в ассоциативном массиве и т.д. Просто по разному модифицировали один и тот же скрип и прогоняли его тысячи раз, делали статистику...