ZoNT,
Не всегда работают быстрее чего? Вы понимаете, что для сравнение "быстрее чего работают глобальные переменные" вы подобрали некорректный пример? Вообще, глобальные и локальные переменные используют не потому что одни быстрее других. Просто в разных случаях используются разные подходы. Естественно, что если функция внутри себя каждый раз объявляет одинаковый огромный массив, то это неверно и лучше хранить массив глобально. Тогда будет быстрее работать вызов этой функции. Я не спорю с этим и вы абсолютно правы на этот счет. Тем не менее, работа (изменение, добавление элементов, удаление элементов и т.д.) с локальными переменными происходит быстрее, чем с глобальными. |
Я этого и не говорил!!!
Вот кусок поста: "Сообщение от ZoNT: Быстрее, в некоторых случаях. Dmitry A. Soshnikov: Во всех случаях." Разве я не написал топикстартеру, что: "В данном же случае приходится в функции каждый раз создавать огромный массив. Соответсвенно создать используемые данные всегда лучше 1 раз..." Ключевые слова: "В данном же случае..." Случай есть? Есть! Я его написал? Не я... "Dmitry A. Soshnikov: Во всех случаях." == false, так как этот "Случай есть? Есть!" |
ZoNT,
Мы с вами как глухой со слепым разговариваем. Я вам говорю, что функция будет быстрее работать с локальной переменной, чем с глобальной. А вы мне отвечаете, что функция, которая объявляет в себе огромный локальный массив будет работать медленнее, чем функция работающая с огромным глобальным массивом. Это очевидно. Но с локальной ссылкой на глобальный массив будет работать еще быстрее. Потому что работа с локальными переменными будет быстрее, чем с глобальными. |
Это тебе очевидно!!!
Но форум не твой личный!!! На него заходят нубы и задают вопросы. И им надо разжовывать. Понимаешь? И утверждение "всегда быстрее", как видишь, неверно. Это очевидно... |
Через нопределённое количество ответов нубам ты поймёшь, что нет ничего невозможного и что такого люди могут понаписать, что категоричный ответ "всегда!!!" окажется неверным...
|
И я в 19(20) лет был таким :) как Андрей (Dmitry)
|
ZoNT,
Я рад тому, что вы переросли меня. Я признаю, что ваша точка зрения - правильная. Точка зрения, что в конкретном случае скрипт будет быстрее работать, если функции будут использовать глобальные переменные. Тем не менее, формулировка "код функции всегда работает быстрее с локальными переменными, чем с глобальными" абсолютно верна. |
Нет, не верна.
Тут спорное место - "работает". Это нечёткое определение. И я под ним понимаю и инициализацию (которую я и предложил вынести в глобальный контекст, что повлекло за собой объявление переменной тоже в глобальном контексте). А что под ним понимают другие люди, которые не понимают даже как устроен компьютер? Это знают только сами люди... Надо уметь чётко формулировать не только вопросы, но и ответы. Иначе человек, котрому ты ответил поймёт в меру своей образованности. Сформулируй так, чтобы нельзя было понять иначе (только одно толкование), тогда будешь прав... |
ZoNT,
Договорились, впредь буду аккуратнее с формулировками. Давайте остановимся на том, что код функции будет работать быстрее с локальными переменными, исключая тот случай, когда неоднократно используемая функция в каждый свой вызов инициализирует одинаковую большую локальную переменную. |
Вот так намного лучше!
Если бы эту формулировку топикстартер услышал раньше (а не "всегда быстрее"), он бы такой код не написал бы, и вопрос бы не задал... |
Часовой пояс GMT +3, время: 07:02. |