Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Очень популярная тема (более 25 ответов) Что делает romix-овский патч dbeng32.dll? (число прочтений - 14213 )
maljaev
Senior Member
****
Отсутствует


Классический секс с 1С
надоел. Хочется изврата...

Сообщений: 405
Местоположение: Нижний Новгород
Зарегистрирован: 19. Октября 2006
Пол: Мужской
Что делает romix-овский патч dbeng32.dll?
02. Февраля 2009 :: 20:38
Печать  
Господа знатоки, вы не можете объяснить мне, с чем связан столь гигантский прирост производительности при использовании патча dbeng32.dll от romix'a? Я всегда полагал, что этот патч лишь включает стандартное виндусовое кэширование на запись, что разрешает его использование лишь в локале и на терминале, и никак не в сети. Но столкнулся с конфигурацией 1С:Аналит, где скорость проведения 100 документов возрастает аж в 40 раз при использовании патча. Сделал замеры в отладчике в стандатном и патченом режимах, и был шокирован результатами. Почему
Код
Выбрать все
ТЗ = СоздатьОбъект("ТаблицаЗначений"); 


(строка модуля 104) с патчем выполняется в 2 раза быстрее (точнее почему этот метод вообще быстрее выполняется), а
Код
Выбрать все
Сообщить("Внимание! В документе "+СокрЛП(ТекущийДокумент())+" присутвуют строки с пустым направившим врачем!","!!!"); 


(строка модуля 41) наоборот в 2 раза медленнее?
Хоть убей не вижу здесь логики.  Ужас Печаль
Для наглядности прикрепляю файл с результатами обоих замеров.
  

______.xls ( 89 KB | Загрузки )
Наверх
 
IP записан
 
maljaev
Senior Member
****
Отсутствует


Классический секс с 1С
надоел. Хочется изврата...

Сообщений: 405
Местоположение: Нижний Новгород
Зарегистрирован: 19. Октября 2006
Пол: Мужской
Re: Что делает romix-овский патч dbeng32.dll?
Ответ #1 - 02. Февраля 2009 :: 20:43
Печать  
Добавлю, что и сам я и мои клиенты с терминалами уже больше года работаем с этим патчиком, глюков не наблюдали, скоростью довольны (хотя ни разу на типовых конфигурах не наблюдал такой зверской разницы в скорости). Но никогда еще не задумывался над точной механикой его (патча) работы.
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Что делает romix-овский патч dbeng32.dll?
Ответ #2 - 02. Февраля 2009 :: 20:43
Печать  
maljaev писал(а) 02. Февраля 2009 :: 20:38:
Код
Выбрать все
Сообщить("Внимание! В документе "+СокрЛП(ТекущийДокумент())+" присутвуют строки с пустым направившим врачем!","!!!"); 


(строка модуля 41) наоборот в 2 раза медленнее?

Да просто здесь как минимум две ошибки, вот синтаксический анализатор и тормозит.
Аналит, как говорится, но не закусИт.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
maljaev
Senior Member
****
Отсутствует


Классический секс с 1С
надоел. Хочется изврата...

Сообщений: 405
Местоположение: Нижний Новгород
Зарегистрирован: 19. Октября 2006
Пол: Мужской
Re: Что делает romix-овский патч dbeng32.dll?
Ответ #3 - 02. Февраля 2009 :: 20:45
Печать  
Ты это серьезно?  Озадачен Давайте уж серьезно, а то у меня и так волосы дыбом.
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Что делает romix-овский патч dbeng32.dll?
Ответ #4 - 02. Февраля 2009 :: 20:51
Печать  
maljaev писал(а) 02. Февраля 2009 :: 20:45:
Ты это серьезно?  Озадачен Давайте уж серьезно, а то у меня и так волосы дыбом.

Улыбка

Серьезно одно могу сказать - странные какие-то тайминги.
Как может быть проведение документа за 6.2 ms?
  

De quelle planète es-tu?
Наверх
 
IP записан
 
maljaev
Senior Member
****
Отсутствует


Классический секс с 1С
надоел. Хочется изврата...

Сообщений: 405
Местоположение: Нижний Новгород
Зарегистрирован: 19. Октября 2006
Пол: Мужской
Re: Что делает romix-овский патч dbeng32.dll?
Ответ #5 - 02. Февраля 2009 :: 20:56
Печать  
Абсолютно реальные тайминги, без вранья. Проверил уже по несколько раз в разных режимах (DBF, DBF+патч, CodeBase, Advantage). Патч dbeng32.dll дает немыслимые результаты, но факт налицо. Могу выслать всю базу (zip около 20 Мб), развернутая около 1.5 Гб.

Просто при проведении с патчем обращения к HDD практически вообще не идет (только немножно в начале и немножно после окончания проведения). Соответственно все через память (кэш) = скорость. Возможно сказывается архитектура конфигуры, т.к. больше 10-кратного увеличения я еще не видел на типовых конфигах.
  
Наверх
 
IP записан
 
maljaev
Senior Member
****
Отсутствует


Классический секс с 1С
надоел. Хочется изврата...

Сообщений: 405
Местоположение: Нижний Новгород
Зарегистрирован: 19. Октября 2006
Пол: Мужской
Re: Что делает romix-овский патч dbeng32.dll?
Ответ #6 - 02. Февраля 2009 :: 21:03
Печать  
kms писал(а) 02. Февраля 2009 :: 20:51:
Серьезно одно могу сказать - странные какие-то тайминги.
Как может быть проведение документа за 6.2 ms?

Меньше  Улыбка 100 документов проводятся за 2'900 миллисекунд с патчем и за 110'000 миллисекунд без патча.
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Что делает romix-овский патч dbeng32.dll?
Ответ #7 - 02. Февраля 2009 :: 21:03
Печать  
maljaev писал(а) 02. Февраля 2009 :: 20:56:
Абсолютно реальные тайминги, без вранья. Проверил уже по несколько раз в разных режимах (DBF, DBF+патч, CodeBase, Advantage). Патч dbeng32.dll дает немыслимые результаты, но факт налицо. Могу выслать всю базу (zip около 20Мб).

Саш, а дай ссылку, где этот патч находится.
А это точно romix'a патч?
И правда интересно, за счет чего такие результаты.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
maljaev
Senior Member
****
Отсутствует


Классический секс с 1С
надоел. Хочется изврата...

Сообщений: 405
Местоположение: Нижний Новгород
Зарегистрирован: 19. Октября 2006
Пол: Мужской
Re: Что делает romix-овский патч dbeng32.dll?
Ответ #8 - 02. Февраля 2009 :: 21:06
Печать  
Ты знаешь, я его просто прикреплю. Он к 25-27 релизу точно приделывается, т.к. dbeng32.dll одинаковый для всех. Установка - просто замените типовой dbeng32.dll на прикрепленный. Предупреждаю сразу - на всех конфигурах по-разному, меньше всего прирост на типовых, больше - на партнерских и самописных. На моем домашнем компе он (патч) у меня давно стоит по-умолчанию, раньше использовал RAM-диск для ускорения работы, сейчас необходимость в нем отпала с патчем.
  

dbeng32_001.dll ( 140 KB | Загрузки )
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Что делает romix-овский патч dbeng32.dll?
Ответ #9 - 02. Февраля 2009 :: 21:14
Печать  
maljaev писал(а) 02. Февраля 2009 :: 21:06:
Ты знаешь, я его просто прикреплю.

Да в общем-то здесь единственное отличие - зашунтированный вызов FlushFileBuffers().
А вот такие разнообразные результаты.

Цитата:
раньше использовал RAM-диск для ускорения работы, сейчас необходимость в нем отпала с патчем.

Неужто в боевых условиях такой патч кто-то использует?
Так-то применимость очень даже понятна.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
maljaev
Senior Member
****
Отсутствует


Классический секс с 1С
надоел. Хочется изврата...

Сообщений: 405
Местоположение: Нижний Новгород
Зарегистрирован: 19. Октября 2006
Пол: Мужской
Re: Что делает romix-овский патч dbeng32.dll?
Ответ #10 - 02. Февраля 2009 :: 21:21
Печать  
kms писал(а) 02. Февраля 2009 :: 21:14:
maljaev писал(а) 02. Февраля 2009 :: 21:06:
Ты знаешь, я его просто прикреплю.

Да в общем-то здесь единственное отличие - зашунтированный вызов FlushFileBuffers().
А вот такие разнообразные результаты.

Цитата:
раньше использовал RAM-диск для ускорения работы, сейчас необходимость в нем отпала с патчем.

Неужто в боевых условиях такой патч кто-то использует?
Так-то применимость очень даже понятна.

Используют. Почему-бы нет? Я не слышал жалоб на достоверность данных при работе в терминале 20-30 пользователей. Да и сам не жалуюсь. Я вот чего не понимаю, как например отключение сброса буфера может сказаться на создании таблицы значений? Ведь 1С не создает-же dbf-файлы под ТЗ, да и вообще наверное ничего не создает на диске.
  
Наверх
 
IP записан
 
maljaev
Senior Member
****
Отсутствует


Классический секс с 1С
надоел. Хочется изврата...

Сообщений: 405
Местоположение: Нижний Новгород
Зарегистрирован: 19. Октября 2006
Пол: Мужской
Re: Что делает romix-овский патч dbeng32.dll?
Ответ #11 - 02. Февраля 2009 :: 21:34
Печать  
Вот здесь собственно romix все и описывает: http://www.kb.mista.ru/article.php?id=136 (в конце статьи). И ни слова нет ни о негативных моментах (кроме использования в сетевом режиме), ни о странном поведении методов, не связанных с чтением/записью данных.
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Что делает romix-овский патч dbeng32.dll?
Ответ #12 - 02. Февраля 2009 :: 21:35
Печать  
maljaev писал(а) 02. Февраля 2009 :: 21:21:
Используют. Почему-бы нет? Я не слышал жалоб на достоверность данных при работе в терминале 20-30 пользователей.

Ну, щас кризис, у людей другие заботы... Улыбка

Цитата:
Я вот чего не понимаю, как например отключение сброса буфера может сказаться на создании таблицы значений? Ведь 1С не создает-же dbf-файлы под ТЗ, да и вообще наверное ничего не создает на диске.

Спроси что полегче.
Но, по уму, простая загрузка icpp должна ускорять сейчас создание объектов больше, чем что бы то ни  было еще.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Что делает romix-овский патч dbeng32.dll?
Ответ #13 - 02. Февраля 2009 :: 21:38
Печать  
maljaev писал(а) 02. Февраля 2009 :: 21:34:
Вот здесь собственно romix все и описывает: http://www.kb.mista.ru/article.php?id=136 (в конце статьи). И ни слова нет ни о негативных моментах (кроме использования в сетевом режиме), ни о странном поведении методов, не связанных с чтением/записью данных.

А с другой стороны, пожалуй, ты прав (для терминала).
Ну, ОК, тем лучше, возьмем на заметку. Улыбка
  

De quelle planète es-tu?
Наверх
 
IP записан
 
maljaev
Senior Member
****
Отсутствует


Классический секс с 1С
надоел. Хочется изврата...

Сообщений: 405
Местоположение: Нижний Новгород
Зарегистрирован: 19. Октября 2006
Пол: Мужской
Re: Что делает romix-овский патч dbeng32.dll?
Ответ #14 - 02. Февраля 2009 :: 21:42
Печать  
kms писал(а) 02. Февраля 2009 :: 21:35:
maljaev писал(а) 02. Февраля 2009 :: 21:21:
Используют. Почему-бы нет? Я не слышал жалоб на достоверность данных при работе в терминале 20-30 пользователей.

Ну, щас кризис, у людей другие заботы... Улыбка

Ох уж эти шутошки...  Улыбка За год до кризиса начали юзать. Я сам сегодня на всякий случай тесты провел - сразу же другой клиент измененные данные получает, или только после того как буфер на диск схлопнется. Оказалось - сразу, пока изменения еще в кэше.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 
ОтправитьПечать