Переключение на Главную Страницу Страницы: 1 ... 8 9 [10] 11 12 ... 15 ОтправитьПечать
Очень популярная тема (более 25 ответов) Сумасшедшие идеи для 1С. Кто больше? (число прочтений - 72027 )
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: Сумасшедшие идеи для 1С. Кто больше?
Ответ #135 - 18. Октября 2007 :: 13:15
Печать  
orefkov писал(а) 18. Октября 2007 :: 13:03:
Снова попрошу сделайте сравнение с OLE DB FoxPro, пожалуста.

У меня под рукой только небольшая база. Для номенклатуры результаты такие:
Цитата:
SQLite: Строк = 2747 время 300
Фокс: Строк = 2747 время 232


Тестовый код:
Код
Выбрать все
Процедура Сформировать2 ()
	ЗагрузитьВнешнююКомпоненту ("1cpp.dll");
	Подключение = СоздатьОбъект ("OLEDBData");
	Подключение.Соединение (Шаблон ("Provider=VFPOLEDB.1; Mode=ReadWrite;
		|Data Source=[КаталогИБ ()];"));

	Команда = Подключение.СоздатьКоманду ();
	т1 = _GetPerformanceCounter();
	ТЗ = Команда.ВыполнитьИнструкцию ("select * from $Справочник.Номенклатура");
	т2 = _GetPerformanceCounter();
	Сообщить("Строк = " + тз.КоличествоСтрок() + " время " + (т2 - т1));
	ТЗ.ВыбратьСтроку ();
КонецПроцедуры
 

  
Наверх
 
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: Сумасшедшие идеи для 1С. Кто больше?
Ответ #136 - 18. Октября 2007 :: 13:18
Печать  
При запуске в монопольном режиме SQLite дает результаты очень близкие к Фоксу.
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Сумасшедшие идеи для 1С. Кто больше?
Ответ #137 - 18. Октября 2007 :: 13:24
Печать  
Uzhast писал(а) 18. Октября 2007 :: 12:48:
Т.е., похоже, в сервис-паке для фокспра есть свой вариант провайдера. И, возможно, в SP2 он тоже есть.

В SP2 vfpoledb.dll v9.0.00.5815.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: Сумасшедшие идеи для 1С. Кто больше?
Ответ #138 - 18. Октября 2007 :: 13:30
Печать  
orefkov писал(а) 18. Октября 2007 :: 13:03:
Снова попрошу сделайте сравнение с OLE DB FoxPro, пожалуста.

Дай лучше возможность потестить выборку из журнала документов Улыбка Там-то объем уже чуть побольше. using dbeng(1sjourn) не канает Улыбка
  
Наверх
 
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Сумасшедшие идеи для 1С. Кто больше?
Ответ #139 - 18. Октября 2007 :: 14:04
Печать  
orefkov писал(а) 18. Октября 2007 :: 13:03:
kiruha писал(а) 18. Октября 2007 :: 11:39:
Транзакция убыстряет и обычные 1С-кие запросы в несколько раз. Только все остальные пользователи в это время курят бамбук.

Т.е. если для работы c временными таблицами то конечно пофиг - ну а как запрос к базе? Зря что ли Uzhast вырезал все блокировки из драйвера Fox?
Или SqlLite во время транзакции не блокирует таблицу?

SQLite - встраиваемая система.
Основное назначение - однопользовательская работа.

Теперь новый тест.
Возможность делать select из справочников дбф в разделенном и монопольном режиме.
Пока совершенно БЕЗ ИНДЕКСОВ.

Снова попрошу сделайте сравнение с OLE DB FoxPro, пожалуста.


SQLLite
Очень странные результаты.
Локально 602 (было и 395)
К базе на сервере 9465 !!!
хотя по коду от этого не должно зависеть.

Fox значения одинаковые для локального и серверного вариантов
516 (было и  374 )
  

TestFox.ert ( 30 KB | Загрузки )
Наверх
 
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Сумасшедшие идеи для 1С. Кто больше?
Ответ #140 - 18. Октября 2007 :: 14:14
Печать  
berezdetsky писал(а) 18. Октября 2007 :: 13:24:
Uzhast писал(а) 18. Октября 2007 :: 12:48:
Т.е., похоже, в сервис-паке для фокспра есть свой вариант провайдера. И, возможно, в SP2 он тоже есть.

В SP2 vfpoledb.dll v9.0.00.5815.


А в SP1 и в файле от Uzhast одинаковые -
9.0.0.3504
и год изменения 4 ноября 2005 а не
1/5/2006
  
Наверх
 
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: Сумасшедшие идеи для 1С. Кто больше?
Ответ #141 - 18. Октября 2007 :: 15:47
Печать  
kiruha писал(а) 18. Октября 2007 :: 14:04:
SQLLite
Очень странные результаты.
Локально 602 (было и 395)
К базе на сервере 9465 !!!
хотя по коду от этого не должно зависеть.

Fox значения одинаковые для локального и серверного вариантов
516 (было и  374 )

Интересно, а действительно, что может вызывать такую разницу в сетевом и локальном варианте? Бродит некая мысля по этому поводу... Скажем, VFP наверняка использует Memory Mapped файлы для доступа. Вот и думаю, а что если 1С использует не MMF, а обычное чтение файла через вызовы API? Тогда получается, что для Фокса данные из сети подкачиваются большими блоками (страницами), а для 1С маленькими порциями по одной записи. Может это и вызывает тормоза?
  
Наверх
 
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: Сумасшедшие идеи для 1С. Кто больше?
Ответ #142 - 18. Октября 2007 :: 16:00
Печать  
orefkov, раз ты так хорошо разобрался в работе dbeng32, может быть ты сможешь грамотно ответить на один вопрос? Интересуют перспективы переписывания dbeng32 - т.е.:
- может ли это дать радикальное повышения скорости работы 1С вообще и
- можно ли добиться того, чтобы скорость выборки данных штатными методами 1С (Запрос, БухИтоги и т.п.) была сопоставима со скоростью прямых запросов?
  
Наверх
 
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Сумасшедшие идеи для 1С. Кто больше?
Ответ #143 - 18. Октября 2007 :: 18:31
Печать  
Uzhast писал(а) 18. Октября 2007 :: 15:47:
Интересно, а действительно, что может вызывать такую разницу в сетевом и локальном варианте? Бродит некая мысля по этому поводу... Скажем, VFP наверняка использует Memory Mapped файлы для доступа. Вот и думаю, а что если 1С использует не MMF, а обычное чтение файла через вызовы API? Тогда получается, что для Фокса данные из сети подкачиваются большими блоками (страницами), а для 1С маленькими порциями по одной записи. Может это и вызывает тормоза?


Я тестировал в Fox е доступ из памяти - аналог теста orefkov. Т.е. разницы(для Fox) и не должно быть. При чтении файлов по сети естественно разница возникает и достаточно существенная для больших файлов. В случае компоненты под sqllite - что то там видимо неправильно работает с виртуальными таблицами (?) .

Uzhast писал(а) 18. Октября 2007 :: 16:00:
orefkov, раз ты так хорошо разобрался в работе dbeng32, может быть ты сможешь грамотно ответить на один вопрос? Интересуют перспективы переписывания dbeng32 - т.е.:
- может ли это дать радикальное повышения скорости работы 1С вообще и
- можно ли добиться того, чтобы скорость выборки данных штатными методами 1С (Запрос, БухИтоги и т.п.) была сопоставима со скоростью прямых запросов?


Штатные методы объектов можно переписать на Fox. Скорость местами даже быстрее, чем обычные прямые запросы, т.к. автоматически подбираются подходящие индексы.
  
Наверх
 
IP записан
 
noprogrammer
1c++ power user
Отсутствует


I Love YaBB 2!

Сообщений: 465
Зарегистрирован: 16. Июня 2006
Re: Сумасшедшие идеи для 1С. Кто больше?
Ответ #144 - 18. Октября 2007 :: 18:51
Печать  
Цитата:
Штатные методы объектов можно переписать на Fox. Скорость местами даже быстрее, чем обычные прямые запросы, т.к. автоматически подбираются подходящие индексы.


Если такая возможность действительно существует так может направить усилия именнов этом направление
(как выразился (JohnyDeath) для "счастливых" обладателей ДБФ баз) ?
  
Наверх
wwwICQ  
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: Сумасшедшие идеи для 1С. Кто больше?
Ответ #145 - 18. Октября 2007 :: 19:03
Печать  
kiruha писал(а) 18. Октября 2007 :: 18:31:
Штатные методы объектов можно переписать на Fox. Скорость местами даже быстрее, чем обычные прямые запросы, т.к. автоматически подбираются подходящие индексы.

То, что переписать можно - это понятно. Вопрос в другом. Насколько это позволит сделать переписывание dbeng32? Может быть, это настолько низкий уровень, что практически не позволяет управлять процессом обработки данных?
  
Наверх
 
IP записан
 
Igor-bts
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 103
Зарегистрирован: 14. Июля 2006
Re: Сумасшедшие идеи для 1С. Кто больше?
Ответ #146 - 18. Октября 2007 :: 20:18
Печать  
сделать подобие 8 comconnector.
  
Наверх
ICQ  
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Сумасшедшие идеи для 1С. Кто больше?
Ответ #147 - 19. Октября 2007 :: 04:04
Печать  
А дайте код работы с dbeng на посмотреть, а?
  
Наверх
ICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Сумасшедшие идеи для 1С. Кто больше?
Ответ #148 - 19. Октября 2007 :: 04:07
Печать  
Arta писал(а) 18. Октября 2007 :: 07:29:
JohnyDeath писал(а) 18. Октября 2007 :: 05:54:
Arta писал(а) 17. Октября 2007 :: 21:21:
...
Но там уже есть готовый комманд бар с отличной докой Улыбка

Где? Можешь ссылку дать?

Дык ссылку вроде кинул Улыбка http://www.codejock.com/products/suitepro/
Там в сьюите несколько красявых контролов. Юзеры прутся.


спасибо за хорошую ссылку  Круглые глаза
« Последняя редакция: 19. Октября 2007 :: 06:40 - vandalsvq »  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
orefkov
1c++ developer
1c++ moderator
Отсутствует


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: Сумасшедшие идеи для 1С. Кто больше?
Ответ #149 - 19. Октября 2007 :: 05:13
Печать  
Скажу сразу, в работе с dbeng32 я еще не специалист. Пока просто пытаюсь освоить методом научного тыка.
Но что сразу хочется отметить - вряд ли ее можно переделать на что-то действительно клиент-серверное, потому как идеология работы в корне различается. dbeng это - выбрал таблицу, индекс, и пошел first, last, seek, next, prev. А клиент-сервер - это запросы.

Теперь по тестам:
Таки скачал я ночную сборку 2.5, OLE DB VFP провайдера, тестю.
Вот у меня результаты простого селекта без типизации результата, запускалось несколько раз.
Тест локальной базы:

SQLite: Строк = 16961 время 2469
OLE DB FP: Строк = 16961 время 2104
SQLite: Строк = 16961 время 1846
OLE DB FP: Строк = 16961 время 1889
SQLite: Строк = 16961 время 1861
OLE DB FP: Строк = 16961 время 1936
SQLite: Строк = 16961 время 1746
OLE DB FP: Строк = 16961 время 1814


Тест той же базы при сетевом доступе:

SQLite: Строк = 16961 время 7372
OLE DB FP: Строк = 16961 время 5289
SQLite: Строк = 16961 время 5311
OLE DB FP: Строк = 16961 время 4883
SQLite: Строк = 16961 время 5000
OLE DB FP: Строк = 16961 время 5009
SQLite: Строк = 16961 время 5167
OLE DB FP: Строк = 16961 время 5052

Результаты двух способов доступа сопоставимы.
Но по SQLite у меня есть еще запас по оптимизации.
Хотя, возможно, я не умею фокса как следует готовить.

Прикладываю как обычно тестовую обработку и слегка правленную ВК.
  

test_003.zip ( 166 KB | Загрузки )
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 8 9 [10] 11 12 ... 15
ОтправитьПечать