Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #51 (permalink)  
Старый 11.08.2008, 00:38
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

ZoNT,
Не всегда работают быстрее чего? Вы понимаете, что для сравнение "быстрее чего работают глобальные переменные" вы подобрали некорректный пример?

Вообще, глобальные и локальные переменные используют не потому что одни быстрее других. Просто в разных случаях используются разные подходы. Естественно, что если функция внутри себя каждый раз объявляет одинаковый огромный массив, то это неверно и лучше хранить массив глобально. Тогда будет быстрее работать вызов этой функции. Я не спорю с этим и вы абсолютно правы на этот счет. Тем не менее, работа (изменение, добавление элементов, удаление элементов и т.д.) с локальными переменными происходит быстрее, чем с глобальными.
Ответить с цитированием
  #52 (permalink)  
Старый 11.08.2008, 00:45
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

Я этого и не говорил!!!

Вот кусок поста:
"Сообщение от ZoNT:
Быстрее, в некоторых случаях.

Dmitry A. Soshnikov: Во всех случаях."

Разве я не написал топикстартеру, что:
"В данном же случае приходится в функции каждый раз создавать огромный массив. Соответсвенно создать используемые данные всегда лучше 1 раз..."

Ключевые слова: "В данном же случае..."

Случай есть? Есть!
Я его написал? Не я...

"Dmitry A. Soshnikov: Во всех случаях." == false,
так как этот "Случай есть? Есть!"
Ответить с цитированием
  #53 (permalink)  
Старый 11.08.2008, 00:55
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

ZoNT,
Мы с вами как глухой со слепым разговариваем. Я вам говорю, что функция будет быстрее работать с локальной переменной, чем с глобальной. А вы мне отвечаете, что функция, которая объявляет в себе огромный локальный массив будет работать медленнее, чем функция работающая с огромным глобальным массивом. Это очевидно. Но с локальной ссылкой на глобальный массив будет работать еще быстрее. Потому что работа с локальными переменными будет быстрее, чем с глобальными.
Ответить с цитированием
  #54 (permalink)  
Старый 11.08.2008, 00:58
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

Это тебе очевидно!!!

Но форум не твой личный!!!

На него заходят нубы и задают вопросы. И им надо разжовывать.
Понимаешь?

И утверждение "всегда быстрее", как видишь, неверно. Это очевидно...
Ответить с цитированием
  #55 (permalink)  
Старый 11.08.2008, 00:59
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

Через нопределённое количество ответов нубам ты поймёшь, что нет ничего невозможного и что такого люди могут понаписать, что категоричный ответ "всегда!!!" окажется неверным...
Ответить с цитированием
  #56 (permalink)  
Старый 11.08.2008, 01:00
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

И я в 19(20) лет был таким как Андрей (Dmitry)
Ответить с цитированием
  #57 (permalink)  
Старый 11.08.2008, 01:13
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

ZoNT,
Я рад тому, что вы переросли меня. Я признаю, что ваша точка зрения - правильная. Точка зрения, что в конкретном случае скрипт будет быстрее работать, если функции будут использовать глобальные переменные. Тем не менее, формулировка "код функции всегда работает быстрее с локальными переменными, чем с глобальными" абсолютно верна.
Ответить с цитированием
  #58 (permalink)  
Старый 11.08.2008, 01:20
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

Нет, не верна.
Тут спорное место - "работает".
Это нечёткое определение.
И я под ним понимаю и инициализацию (которую я и предложил вынести в глобальный контекст, что повлекло за собой объявление переменной тоже в глобальном контексте).

А что под ним понимают другие люди, которые не понимают даже как устроен компьютер? Это знают только сами люди...

Надо уметь чётко формулировать не только вопросы, но и ответы. Иначе человек, котрому ты ответил поймёт в меру своей образованности.

Сформулируй так, чтобы нельзя было понять иначе (только одно толкование), тогда будешь прав...

Последний раз редактировалось ZoNT, 11.08.2008 в 01:23.
Ответить с цитированием
  #59 (permalink)  
Старый 11.08.2008, 01:29
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

ZoNT,
Договорились, впредь буду аккуратнее с формулировками.
Давайте остановимся на том, что код функции будет работать быстрее с локальными переменными, исключая тот случай, когда неоднократно используемая функция в каждый свой вызов инициализирует одинаковую большую локальную переменную.
Ответить с цитированием
  #60 (permalink)  
Старый 11.08.2008, 01:33
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

Вот так намного лучше!
Если бы эту формулировку топикстартер услышал раньше (а не "всегда быстрее"), он бы такой код не написал бы, и вопрос бы не задал...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск