End With по требованию06.10.2024, 08:52. Показов 3158. Ответов 52
Метки нет (Все метки)
В одном коде надо было перебирать элементы массива UDT и при определенных условиях "выпрыгнуть" из цикла, а после цикла при определенных условиях происходит редим этого массива, но обнаружилась одна проблемка с использованием оператора With в таком сценарии. Упрощенно проблемму можно воспроизвести таким кодом
0
|
||||||
| 06.10.2024, 08:52 | |
|
Ответы с готовыми решениями:
52
Требуется Web-разработчик (Front end/Back end) Санкт-Петербург Java Developer (front-end + back-end); Chicago,IL; H1B Sponsorship is available! |
|
dive
4963 / 4660 / 845
Регистрация: 13.04.2015
Сообщений: 9,853
|
||||||||
| 20.11.2024, 10:26 | ||||||||
![]() Смотри
Запускаем из среды разработки - да, действительно, код с With работает быстрее, хоть и не намного. А теперь компилируем (все оптимизации по умолчанию), запускаем exe, и ситуация в корне меняется - код без With работает почти в два раза быстрее. И вся тема летит в трубу ![]()
1
|
||||||||
|
dive
4963 / 4660 / 845
Регистрация: 13.04.2015
Сообщений: 9,853
|
|
| 20.11.2024, 10:44 | |
|
1
|
|
| 20.11.2024, 10:53 [ТС] | |
|
I can, это может быть ситуация которую оптимизирует компилятор в одном случае, а в другом не оптимизирует. Я раньше делал не рекурсивный q-sort и в нем with давал небольшое преимушество. Чуть позже скину ссылку.
Добавлено через 2 минуты Вопрос конечно есть, как работает with как ранее ли связывание или как-то по особому.
0
|
|
|
dive
4963 / 4660 / 845
Регистрация: 13.04.2015
Сообщений: 9,853
|
||
| 20.11.2024, 10:53 | ||
|
1
|
||
| 20.11.2024, 12:10 [ТС] | ||
|
В Твин-бейсике with уже можно исполтзовать для разименования указателя вроде.
Добавлено через 1 час 15 минут
0
|
||
|
Испарился
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|||
| 20.11.2024, 12:22 | |||
|
странно
Добавлено через 1 минуту Человеческий глаз даже не воспринимает и не успеет заметить процессы которые произошли быстрее чем 42млск Добавлено через 8 минут
1
|
|||
| 20.11.2024, 12:32 [ТС] | ||||
|
Добавлено через 5 минут
0
|
||||
|
Испарился
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
||
| 20.11.2024, 12:51 | ||
|
Добавлено через 4 минуты В книге Стив Брауна тоже писали что мол With помогает увеличить производительность и скорость работы программы, но это было в конце 90-ых, в начале двухтысячных может оно так и было тогда раньше на медленных процессорах...
0
|
||
|
dive
4963 / 4660 / 845
Регистрация: 13.04.2015
Сообщений: 9,853
|
||
| 20.11.2024, 12:53 | ||
|
2
|
||
|
Испарился
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 20.11.2024, 12:56 | |
|
Ну а сегодня, благодаря уважаемому I can мы уже видим совсем обратный эффект. Итак я провёл тесты которые нам предложил I can. И что мы видим!? В IDE (первый скрин) вместе с With скорость 0,64, без With скорость 0,68, тут даже человеческий глаз не успел бы заметить что этот процесс в IDE происходит чуть-чуть быстрее. Но вот в EXE становится даже медленнее вместе с With уже 0,17 а без With стало быстрее 0,07!!!
1
|
|
|
Испарился
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 20.11.2024, 14:33 | |
|
testuser2, ну проверил я твой пример. Без With быстрее.
0
|
|
|
Испарился
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 20.11.2024, 14:33 | |
|
Вот смотри
0
|
|
| 20.11.2024, 14:34 [ТС] | ||||||||||||
Кликните здесь для просмотра всего текста
0
|
||||||||||||
|
Испарился
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|||||
| 20.11.2024, 14:47 | |||||
|
Делаем вывод, что With - это совершенно ненужная вещь вообще, только разве что для красоты. А скорости With не прибавляет.
Добавлено через 11 секунд Добавлено через 11 минут Добавлено через 33 секунды
0
|
|||||
| 20.11.2024, 14:50 [ТС] | |
|
Компиляция делает что-то не так, With должен быть быстрее, но разница в скорости микроскопическая на самом деле. Мой пример тоже может быть не достаточно корректен. Нужно тестировать на чем-то реальном. Я кидал ссылку на q-sort, но мне лень проверять.
0
|
|
|
Испарился
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|||
| 20.11.2024, 15:07 | |||
|
Я вообще не понимаю почему ты так помешан на With? Он ведь только замедляет работу в EXE Да, раньше в учебниках по Visual Basic писали что с With код работает быстрее, и я не думаю, что нам тогда лгали в то время в начале двухтысячных годов на слабых компьютерах и на слабых процессорах, скорее всего код вместе с With и правда работал быстрее. Теперь он стал медленнее. Я ни первый раз такое уже вижу, есть и другие у меня примеры где раньше в начале двухтысячных код работал быстрее на слабых старых компах, а теперь этот код уже стал медленнее на современных и мощных компьютерах. Добавлено через 3 минуты Как бы объяснить. Вот например есть много встроенных функций в VB6 такие как Mid$ например или LCase во времена Windows 98 и слабых старых компьютеров эти коды Mid и LCase в VB6 работали медленнее чем аналоги в АПИ и всякие другие скрипты, а теперь эти функции работают быстрее за счёт того что у всех у нас теперь мощные многоядерные процессоры. Добавлено через 5 минут Я помню как был пример от Microsoft 98 года где показывалось что CopyMemory работает быстрее чем Mid. И это было в 98 году правдой. Теперь уже Mid работает быстрее. В том же майкрософтовском примере. Добавлено через 2 минуты И кстати, забыл сказать, если включить эти наши тесты на старом компе типа Pentium II то, скорее всего, с With будет работать быстрее. Я думаю, что это для слабых старых компьютеров будет правдой.
0
|
|||
| 20.11.2024, 16:07 [ТС] | ||
|
Добавлено через 39 минут Нашел этот пример, и в правду Mid быстрее, даже чем vbaCopyBytes и даже в Твин-бейские. Это чертово не понятное дерьмо.
0
|
||
|
Испарился
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|||
| 20.11.2024, 16:11 | |||
|
Добавлено через 51 секунду Короче забудь про With раз и навсегда
0
|
|||
| 20.11.2024, 16:11 | |
|
Помогаю со студенческими работами здесь
40
Syntax error unexpected $end and premature end-of-file единственный варнинг Ведущие разработчики .NET (C#) Front-end и Back-end (Москва, не аутсорс)
With myChart With .Axes(xlCategory) .CategoryType = xlTimeScale .BaseUnit = xlseconds End With End With Работа в Германии (Front-End, Back-End или Full-Stack) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача №1: при указании работ (справочник РаботыПоРемонтуСпецтехники),. . .
|