Имя: Пароль:
1C
1С v8
НЕ ЗначениеЗаполнено работает медленнее, чем ЗначениеЗаполнено = Ложь
,
0 izekia
 
27.10.11
19:19
Как вы думаете?
1 Goggy
 
27.10.11
19:23
Я думаю сегодня прохладно вечерком чёто.
2 Renat11111
 
27.10.11
19:23
я думаю нужно было задавать в пятницу этот вопрос
3 Goggy
 
27.10.11
19:25
то есть на 5 часов поспешил :)
4 izekia
 
27.10.11
19:27
да вы подумайте и поймете, что я безусловно прав
5 Wobland
 
27.10.11
19:27
(0) а проверить? кстати, цикл, записанный в одну строку, работает быстрее, чем цикл, записанный в три строки
7 izekia
 
27.10.11
19:28
сначала значение инвертируется и потом проверяется на истинность, а во втором варианте оно сразу проверяется
8 kuza2000
 
27.10.11
19:28
(4) Подумал. Не понял.
9 izekia
 
27.10.11
19:29
(6) ну и какого ты тут флудишь?
10 PR
 
27.10.11
19:30
(0) В голове есть мозг. Им.
11 kuza2000
 
27.10.11
19:31
(7) Чет у меня моск взорвался :) В первом варианте оно уже готово к использованию и не на что не проверяется.
12 Wobland
 
27.10.11
19:31
вот как раз наеборот, я уже проверил с НЕ быстрее
13 Wobland
 
27.10.11
19:31
(10) некоторые спинной применяют
14 Ненавижу 1С
 
гуру
27.10.11
19:32
(9) скоро, скоро пятница!
15 Wobland
 
27.10.11
19:33
(14) в (6) сузуки был? ;)
16 aleks-id
 
27.10.11
19:33
на уровне ассемблера not выполняется быстрее cmp
с чего бы в одинцэ быть по другому?
17 Chai Nic
 
27.10.11
19:34
(5) Отладчиком проверял? :)
18 Wobland
 
27.10.11
19:36
(17) у меня есть симпатичный кусок кода, который время замеряет и Сообщает(), но остался на работе. так что отладчиком ;)
19 izekia
 
27.10.11
19:37
(16) а ты не учитываешь что после нот тоже сравнение выполняется?
хотя в принципе по флагам ... что-то я не подумал
20 Ненавижу 1С
 
гуру
27.10.11
19:38
(14) напугал старого революционера!
21 aleks-id
 
27.10.11
19:39
(19) во-во.. не подумал :)
not ax,bx
jz трам-па-пам
22 izekia
 
27.10.11
19:41
(21) лол, что это у тебя за команда?)
23 kuza2000
 
27.10.11
20:37
(7), (16) Там нет никакой проверки на истинность! И никакого сравнения! Там нет даже никакого нота! Там сразу используется команда, которую можно обозвать как "переход, если значение истинно". Если бы не было "НЕ", использовалась бы команда "переход, если значение ложь". И усе.
24 Defender aka LINN
 
27.10.11
21:06
(0) Ну допустим. И?
25 Wobland
 
27.10.11
21:17
(24) осталось три часа
26 xReason
 
27.10.11
21:32
Видимо вы из 1С, раз знаете логику 1С интерпретатора

а вот компилятор точно бы все под одну гребёнку скомпилировал бы
27 Domovoi
 
27.10.11
21:45
(0)Помнится в последний раз мусоленья этого вопросо решено было что с Не работает быстрее.
28 Лефмихалыч
 
27.10.11
21:46
а тем временем...
http://screencast.com/t/njZr4np0vZvV

чтобы вычислить "не" надо привести тип видимо или, зная 1С, могу предположить, что она проверят, а булевское ли это значение, прежде, чем привести тип
29 kuza2000
 
27.10.11
22:09
(26) Там компилятор. Не до машинных кодов, но компилятор. Как известно, модули могут поставляться в скомпилированном виде без исходников. Код изучен умельцами, есть декомпилятор.
30 Лефмихалыч
 
27.10.11
22:16
(29) ага, ну да, без исходных кодов. Щас!
Это только конфигуратор тебе ПОКАЗЫВАЕТ отсутствие кода. На самом деле код там есть, нескомпилированный и в том виде, в котром ты его написал с точностью до буквы.
31 mdocs
 
27.10.11
22:18
(28) а если вместо а СчЦ подставить?
32 Лефмихалыч
 
27.10.11
22:20
33 Лефмихалыч
 
27.10.11
22:20
+(32) сиравно
34 hhhh
 
27.10.11
22:49
(33) при сравнении тоже надо привести тип.
35 mdocs
 
27.10.11
22:53
(33) У меня на миллионе таких же операций результаты другие, в пользу НЕ. 8.2.14, делаю "на сервере".
36 Лефмихалыч
 
27.10.11
23:10
я сделал смелое предположение пальцем в небо относительно того, что способ объявления переменной как-то влияет на это дело, получилось, что единственное, что влияет - тип аргумента функции ЗначениеЗаполнено().
В некоторых случаях "не" риальне рвет на какие-то нищебродские доли секунды сравнение, но ни какого "в основном не в пользу" не ощущается:
http://screencast.com/t/ANjy8RldSGM

правда я на клиенте мерил
37 cViper
 
27.10.11
23:52
(0) Какая разница? Ты этим решил оптимизировать сложный участок кода?