НЕ ЗначениеЗаполнено работает медленнее, чем ЗначениеЗаполнено = Ложь #577167


#0 by izekia
Как вы думаете?
#1 by Goggy
Я думаю сегодня прохладно вечерком чёто.
#2 by Renat11111
я думаю нужно было задавать в пятницу этот вопрос
#3 by Goggy
то есть на 5 часов поспешил :)
#4 by izekia
да вы подумайте и поймете, что я безусловно прав
#5 by Wobland
а проверить? кстати, цикл, записанный в одну строку, работает быстрее, чем цикл, записанный в три строки
#7 by izekia
сначала значение инвертируется и потом проверяется на истинность, а во втором варианте оно сразу проверяется
#8 by kuza2000
Подумал. Не понял.
#9 by izekia
ну и какого ты тут флудишь?
#10 by PR
В голове есть мозг. Им.
#11 by kuza2000
Чет у меня моск взорвался :) В первом варианте оно уже готово к использованию и не на что не проверяется.
#12 by Wobland
вот как раз наеборот, я уже проверил с НЕ быстрее
#13 by Wobland
некоторые спинной применяют
#14 by Ненавижу 1С
скоро, скоро пятница!
#15 by Wobland
в сузуки был? ;)
#16 by aleks-id
на уровне ассемблера not выполняется быстрее cmp с чего бы в одинцэ быть по другому?
#17 by Chai Nic
Отладчиком проверял? :)
#18 by Wobland
у меня есть симпатичный кусок кода, который время замеряет и Сообщает, но остался на работе. так что отладчиком ;)
#19 by izekia
а ты не учитываешь что после нот тоже сравнение выполняется? хотя в принципе по флагам ... что-то я не подумал
#20 by Ненавижу 1С
напугал старого революционера!
#21 by aleks-id
#22 by izekia
лол, что это у тебя за команда?)
#23 by kuza2000
, Там нет никакой проверки на истинность! И никакого сравнения! Там нет даже никакого нота! Там сразу используется команда, которую можно обозвать как "переход, если значение истинно". Если бы не было "НЕ", использовалась бы команда "переход, если значение ложь". И усе.
#24 by Defender aka LINN
Ну допустим. И?
#25 by Wobland
осталось три часа
#26 by xReason
Видимо вы из 1С, раз знаете логику 1С интерпретатора а вот компилятор точно бы все под одну гребёнку скомпилировал бы
#27 by Domovoi
Помнится в последний раз мусоленья этого вопросо решено было что с Не работает быстрее.
#28 by Лефмихалыч
а тем временем... чтобы вычислить "не" надо привести тип видимо или, зная 1С, могу предположить, что она проверят, а булевское ли это значение, прежде, чем привести тип
#29 by kuza2000
Там компилятор. Не до машинных кодов, но компилятор. Как известно, модули могут поставляться в скомпилированном виде без исходников. Код изучен умельцами, есть декомпилятор.
#30 by Лефмихалыч
ага, ну да, без исходных кодов. Щас! Это только конфигуратор тебе ПОКАЗЫВАЕТ отсутствие кода. На самом деле код там есть, нескомпилированный и в том виде, в котром ты его написал с точностью до буквы.
#31 by mdocs
а если вместо а СчЦ подставить?
#32 by Лефмихалыч
#33 by Лефмихалыч
+ сиравно
#34 by hhhh
при сравнении тоже надо привести тип.
#35 by mdocs
У меня на миллионе таких же операций результаты другие, в пользу НЕ. 8.2.14, делаю "на сервере".
#36 by Лефмихалыч
я сделал смелое предположение пальцем в небо относительно того, что способ объявления переменной как-то влияет на это дело, получилось, что единственное, что влияет - тип аргумента функции ЗначениеЗаполнено. В некоторых случаях "не" риальне рвет на какие-то нищебродские доли секунды сравнение, но ни какого "в основном не в пользу" не ощущается: правда я на клиенте мерил
#37 by cViper
Какая разница? Ты этим решил оптимизировать сложный участок кода?
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С