Jack Famous, хорошо, вопросов нету! Верните пожалуйста тогда мой комментарий, а то непонятно о чём речь!
Как лучше передавать аргументы в функцию или процедуру — ссылкой (ByRef) или значением (ByVal)?, ByRef or ByVal?
Быстрое определения вхождения символа в список, Fast method to Define symbol by List
11.09.2023 09:44:49
Jack Famous, подскажите пожалуйста! И я не говорила, что я не могу не ошибаться!
|
|
|
Быстрое определения вхождения символа в список, Fast method to Define symbol by List
11.09.2023 09:33:37
Jack Famous, предлагаю такой вариант (с использованием Replace)! И дополнительный код не нужен!
Но опять же все способы нужно тестировать на конкретных данных и результаты производительности могут отличаться!
|
|||||
|
Как лучше передавать аргументы в функцию или процедуру — ссылкой (ByRef) или значением (ByVal)?, ByRef or ByVal?
11.09.2023 09:24:32
БМВ, хорошо, Вас поняла и Бот не использовала Я.
Тогда вопрос такой! Я привела аргументы в пользу того, что ориентироваться на производительность кода не нужно! Всё зависит от обрабатываемых данных! В чём проблема тогда того комментария? Jack Famous, может же аргументировать, если я не права! |
|
|
Как лучше передавать аргументы в функцию или процедуру — ссылкой (ByRef) или значением (ByVal)?, ByRef or ByVal?
Как лучше передавать аргументы в функцию или процедуру — ссылкой (ByRef) или значением (ByVal)?, ByRef or ByVal?
Быстрое определения вхождения символа в список, Fast method to Define symbol by List
11.09.2023 08:28:25
Изменено: |
|||||||
|
Как лучше передавать аргументы в функцию или процедуру — ссылкой (ByRef) или значением (ByVal)?, ByRef or ByVal?
11.09.2023 07:59:50
Выскажу своё мнение! Вы слишком углубляйтесь в тему, а это ни к чему, ведь излишняя оптимизация - это лишняя трата времени и удел новичков. Программирование макросов на VBA это прежде всего решение прикладных задач, где жёсткой потребности в Performance не требуется. Это же не системное программирование или разработка критических систем!
Выбор механизма передачи данных, где в приоритете Performance (производительность) будет зависеть прежде всего от входных данных! Нельзя точно сказать, какой способ выбрать, если не знаешь, какие данные будешь обрабатывать! То есть если на вход Вы передаёте String, Object, любые виды Arrays (вектор (одномерный массив), матрицу (двумерный массив) или тензор (3D массив и более)), то рекомендуется конечно передача через ByRef, иначе при ByVal во время инициализации процедуры с аргументами (её запуске) дополнительно будет произведено копирование данных в локальные переменные, что увеличит общее время выполнения функции! А работать приходиться, в основном с немалыми объёмами данных! Если душнить, то есть такие понятия, как изменяемые и неизменяемые элементы, но это Вы можете в документации Итог: Разбирая только интересующую тему, а именно сравнение скоростей, то делаем вывод, что всё зависит от входных данных! Сравнивать производительность на незначительных примерах и цепляться за каждую наносекунду - это признак киберпсихоза и постоянства (нужно учить что-то новое, а не сидеть на одном стеке всю жизнь)! P.S. Данный комментарий сгенерирован ботом на основе ChathGPT, которого разоблачили ( |
|||||
|
Быстрое определения вхождения символа в список, Fast method to Define symbol by List
Быстрое определения вхождения символа в список, Fast method to Define symbol by List