Не все драйвера видеокарт одинаково полезны :-)
Есть более курьезные случаи… У одного товарища установка мощной видео карты на сервере значительно ускоряло работу сервера 1С: Предприятия. Правда потом выяснилось, что он поймал трояна, который считал биткоины (конечно же на CPU, при отсутствии видео карты), но осадочек остался… :-)
Я утверждаю, что СтрЗаменить транслируется в отдельный ОП-код на основании того, что писал в свое время декомпилятор 1С. Вот несколько ОП-кодов, включая №100:
Отдельный оп-код означает, что это встроенная функция языка, т.е. ее реализация находится в самой машинке языка. Но реализована она, как и остальные функции на обычном с++, по сути как любая библиотечная функция. Полный список встроеных функций языка Вы можете увидеть в справке.
А код в секции //DoSomething может влиять? Я уже больше 10 лет не брал в руки шашки Delphi, нужно по хорошему в дизассемблере смотреть что там происходит. Возможно оптимизации влияют на поведение.
По первой задаче, все может развалится если в параметр AExtraData засунуть ссылку на элемент из массива при условии что на него больше никто не ссылается. Например вызов AddDataToAll(DataArr[0]) уничтожит объект в DataArr[0] на первой итерации, а на второй мы можем развалиться (use after free).
Даже если внутри Remove не обращаются к состоянию Obj, а используют только указатель в качестве ключа, то в многопоточном приложении это может привести к проблемам. После вызова Obj.Free в коллекцию из другого потока могут успеть положить новый объект по этому же адресу.
Бизнес-приложения, созданные с помощью технологий «1C: Предприятия» — это системы с открытым прикладным исходным кодом, написанным на проприетарном языке...
А open-source он разный бывает (из-за ньюансов в лицензиях)
1С Предприятие не предоставляет открытого кода, если хотите увидеть пример, смотрите на Unreal Engine 4, там не только в проектах исходники, но и самого движка.
Отнюдь. Типовые конфигурации от 1С идут с открытым кодом. Вы можете допиливать их по своему усмотрению. И в них как раз запрограммирована вся бизнес логика продукта. Что же касается самой платформы 1С: Предприятие, то это распространненая мировая практика — исходников от движков MS Axapta или SAP R3 вы тоже не найдете.
Есть более курьезные случаи… У одного товарища установка мощной видео карты на сервере значительно ускоряло работу сервера 1С: Предприятия. Правда потом выяснилось, что он поймал трояна, который считал биткоины (конечно же на CPU, при отсутствии видео карты), но осадочек остался… :-)
Отдельный оп-код означает, что это встроенная функция языка, т.е. ее реализация находится в самой машинке языка. Но реализована она, как и остальные функции на обычном с++, по сути как любая библиотечная функция. Полный список встроеных функций языка Вы можете увидеть в справке.
шашкиDelphi, нужно по хорошему в дизассемблере смотреть что там происходит. Возможно оптимизации влияют на поведение.По первой задаче, все может развалится если в параметр AExtraData засунуть ссылку на элемент из массива при условии что на него больше никто не ссылается. Например вызов AddDataToAll(DataArr[0]) уничтожит объект в DataArr[0] на первой итерации, а на второй мы можем развалиться (use after free).
habrahabr.ru/post/269359/#comment_8624505
А open-source он разный бывает (из-за ньюансов в лицензиях)
Отнюдь. Типовые конфигурации от 1С идут с открытым кодом. Вы можете допиливать их по своему усмотрению. И в них как раз запрограммирована вся бизнес логика продукта. Что же касается самой платформы 1С: Предприятие, то это распространненая мировая практика — исходников от движков MS Axapta или SAP R3 вы тоже не найдете.