Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Горячая тема (более 10 ответов) Скорость работы компоненты (число прочтений - 8963 )
Vladibor
Junior Member
**
Отсутствует


Адреналин гуляет по крови

Сообщений: 17
Зарегистрирован: 09. Октября 2006
Скорость работы компоненты
10. Октября 2006 :: 19:55
Печать  
Написал два кода в 1с++ формате и в 1с формате . сравнил по времени. Компонента отстает. В чем подвох??

Процедура Справ()
ИтТМЦ = СоздатьОбъект("БыстрыеИтоги"); 
ИтТмц.ПериодДень(Текущаядата());
     ИтТМЦ.ИспользоватьСубконто(ВидыСубконто.Контрагенты);
     ИтТМЦ.ХарактеристикаСубконто(ВидыСубконто.Контрагенты,"Код");
     ИтТМЦ.ВыполнитьЗапрос(Текущаядата(),Текущаядата(),"361");
     ИтТМЦ.СоздатьИндекс("субконто",1);
       //ИтТМЦ.СоздатьИндекс("Субконто2",2);      

       ИтТМЦ.ВыбратьХарактеристики("Код");
       Пока ИтТМЦ.ПолучитьХарактеристику("Код")=1 Цикл
             Ид=ИтТмц.Код;
             Сообщить(Ид);
       КонецЦикла;
КонецПроцедуры

Процедура СправБух()
ИтТМЦ = СоздатьОбъект("БухгалтерскиеИтоги"); 
     ИтТМЦ.ИспользоватьСубконто(ВидыСубконто.Контрагенты);
       ИтТМЦ.ВыполнитьЗапрос(Текущаядата(),Текущаядата(),"361");
       ИтТмц.ВыбратьСубконто();
      
       Пока ИтТМЦ.ПолучитьСубконто()=1 Цикл
             Ид=ИтТмц.Субконто();
             Сообщить(Ид);
       КонецЦикла;
                  
КонецПроцедуры

Есть ли полное описание Компоненты???
  
Наверх
ICQ  
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Скорость работы компоненты
Ответ #1 - 11. Октября 2006 :: 04:20
Печать  
"БыстрыеИтоги" - это ни есть компонента. Это класс определенный пользователем, написанный на языке 1с + возможности компоненты 1с++ (классы, sql-запросы).
Для корректности стоит сравнивать запросы (примерно одинаковые) на языке 1с и запросы на t-sql (без оберток ввиде класса).
  
Наверх
ICQ  
IP записан
 
tav13
1c++ donor
Отсутствует



Сообщений: 108
Местоположение: Donetsk
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Скорость работы компоненты
Ответ #2 - 11. Октября 2006 :: 05:46
Печать  
[quote author=Vladibor link=1160510118/0#0 date=1160510117]Есть ли полное описание Компоненты???
[/quote]
[url]http://bueno.newmail.ru/AccntQuery/[/url]
  
Наверх
ICQ  
IP записан
 
Vladibor
Junior Member
**
Отсутствует


Адреналин гуляет по крови

Сообщений: 17
Зарегистрирован: 09. Октября 2006
Re: Скорость работы компоненты
Ответ #3 - 11. Октября 2006 :: 21:10
Печать  
Хорошо.
Почему возникла потребность в прямых запросах?? Потому, что запросы 1с к sql якобы работают медленнее.
Я и сравнил два запроса. Скорость не увеличилась.

А как решить проблему со справочником. Справочник в прокрутке быстрее работает в dbf версии чем в sql и поиск по справочнику.

Смысл использования 1c++ и класса Accntquery в частности



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


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Скорость работы компоненты
Ответ #4 - 11. Октября 2006 :: 21:32
Печать  
Vladibor писал(а) 11. Октября 2006 :: 21:10:
Хорошо.
Почему возникла потребность в прямых запросах?? Потому, что запросы 1с к sql якобы работают медленнее.
Я и сравнил два запроса. Скорость не увеличилась.

А как решить проблему со справочником. Справочник в прокрутке быстрее работает в dbf версии чем в sql и поиск по справочнику.

Смысл использования 1c++ и класса Accntquery в частности


В 1998 году Алексей Жедь написал свою статью "почему тормозит SQL" - ее найти несложно.
Многое в ней кажется забавным - с высоты 2006 года.

Но в 1998 я именно так SQL и продавал - да, будет медленнее, но в 100 раз надежнее.
Кстати, в 1998 90% моего дохода составляло восстановление поврежденных DBF баз.

P.S.
А на выставках уже тогда подваливали люди с горящими глазами - SQL? О-О-О! SQL! У нас есть линия Т1 - по ней будет летать, конечно?
Как мы видим, прошло 8 лет, широкополосный доступ пришел в каждый дом, но так и остался невостребованным применительно к 1С.

P.P.S.
SQL действительно быстрее - у тех, кто умеет его готовить.
Это значит - на соответствующих нагрузках и при грамотном использовании.
  

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


Адреналин гуляет по крови

Сообщений: 17
Зарегистрирован: 09. Октября 2006
Re: Скорость работы компоненты
Ответ #5 - 11. Октября 2006 :: 21:47
Печать  
скачал версию accntquery 2,3 с тестом.
тест показывает что запрос с бухгалтерскимиитогами работает быстрее.

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


1С++ любитель

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Скорость работы компоненты
Ответ #6 - 12. Октября 2006 :: 04:20
Печать  
Vladibor писал(а) 11. Октября 2006 :: 21:47:
скачал версию accntquery 2,3 с тестом.
тест показывает что запрос с бухгалтерскимиитогами работает быстрее.


в таких случаях могу сказать только одно: ну и кушайте ваши апельсины на здоровье!

и еще, уже в который раз повторю то, что говорили предыдущие:
класс accntquery - это частная разработка, т.е. sd писал ее для себя и если бы она его не устраивала - не стал бы ею пользоваться!
(Впрочем мы не знаем - пользуется ли он ею сам  Подмигивание)
то, что этот класс реализует основной интерфейс очень похожего класса 1С БухгалтерскиеИтоги - это не значит, что это одно и то же, что "БухгалтерскиеИтоги" - это гораздо больше! и что же такое это больше уже было разъяснено выше.

Теперь дело за вами! Можно ведь и совсем ничего не делать, но получать свою з/п и ссылаться на тормоза злополучной 1С-ки...
  
Наверх
 
IP записан
 
Vladibor
Junior Member
**
Отсутствует


Адреналин гуляет по крови

Сообщений: 17
Зарегистрирован: 09. Октября 2006
Re: Скорость работы компоненты
Ответ #7 - 12. Октября 2006 :: 05:45
Печать  
ну что ж будем добиваться скорости выполнения.
Может БыстрыеИтоги действительно быстрые.

не буду морочить больше голову. покапаю - скажу.

Удачи всем
  
Наверх
ICQ  
IP записан
 
tav13
1c++ donor
Отсутствует



Сообщений: 108
Местоположение: Donetsk
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Скорость работы компоненты
Ответ #8 - 12. Октября 2006 :: 05:54
Печать  
Vladibor писал(а) 11. Октября 2006 :: 21:47:
скачал версию accntquery 2,3 с тестом.
тест показывает что запрос с бухгалтерскимиитогами работает быстрее.

Внимательно почитай файл readme.rtf из AccntQuery.2.2.zip там же ясно сказано конструкции типа ВыбратьСубконто - ПолучитьСубконто будут по определению работать медленнее чем тоже самое в БИ.
Пойми разницу - 1с++ и AccntQuery в частности, позволяют много быстрее стандартных средств 1С получить результаты запроса.
  
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Скорость работы компоненты
Ответ #9 - 15. Октября 2006 :: 18:55
Печать  
Цитата:
но работать понимаю нужно с кодом.
Или есть ли какие статьи по этому поводу.

Если переходить на прямые запросы - то я бы посоветовал ветки FAQ на itland.ru http://itland.ru/forum//index.php?showtopic=7219, и статью о прямых запросах, здесь в прикрепленной теме.

Если не переходить - то могу сказать за оперативный учет.
Самим 1С нормально оптимизированы запросы, временный расчет регистров и операции типа ВыгрузитьИтоги().

Ключевой момент - это выгрузки итогов с установленными фильтрами должны попадать в фильтры по регистрам.

Совершенно ключевой момент - отсутствие фильтров по спискам в операциях выгрузки итогов.
Эти фильтры совершенно диким образом дезоптимизированы 1С и вдобавок приводят к перманентному замедлению активной сессии (текущий баг MSSQL).

Может кто-то еще добавит вкратце за бухучет.
  

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


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Скорость работы компоненты
Ответ #10 - 15. Октября 2006 :: 19:12
Печать  
+добавлю вообще по теме

За что ругали и ругают 1С и его 7.x для SQL?
За то, что идеологию работы с DBF они во многом портировали на SQL без изменений.

Особенно, на первых релизах - дальше от релиза к релизу все же полет мысли привел к положительным сдвигам.

SQL предназначен для работы с наборами данных и эффективно работает при условии попадания в индексы.
Т.е. все очень просто Подмигивание

Отсюда и необходимость замены связок
ВыбратьЭлементы() - ПолучитьЭлемент() - ЭтоГруппа() на запросы.

Отсюда необходимость перехода от
ВыбратьИтоги() - ПолучитьИтог() к ВыгрузитьИтоги()

Можно этого не делать, но работать будет *медленнее* (иногда значительно), чем в DBF.
Нам когда-то обещали, что win95 будет работать на 8М памяти, но при этом умалчивали *как* она будет работать.
  

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


Адреналин гуляет по крови

Сообщений: 17
Зарегистрирован: 09. Октября 2006
Re: Скорость работы компоненты
Ответ #11 - 15. Октября 2006 :: 21:32
Печать  
В примере я не использовал выбратьсубконто() и т.д.
Но почему-то в бухгалтерии медленно все происходит.

C оперативным учетом полегче.
Конечно и функций бы побольше было бы в 1с++.
На безрыбье и рак -рыба.
Но столкнулся с проблемой вытащить список периодических значений у реквизита, а в
1с++  - только одно значение на определенную дату, прийдется писать напрямую к таблице.


Вот простой пример.
Справочник, в котором нужно показать остатки по счетам
Что через 1с++ делаю что БухИтоги, скорось одна и та же.
Думаю выгрузить итоги по счетам во временную таблицу и работать  с таблицей,
Только проблема в том, что загружать нужно при открытии справочника, а это опять время


  
Наверх
ICQ  
IP записан
 
Phoenix
Senior Member
****
Отсутствует


itpath.ru

Сообщений: 398
Местоположение: Москва
Зарегистрирован: 15. Июня 2006
Пол: Мужской
Re: Скорость работы компоненты
Ответ #12 - 16. Октября 2006 :: 15:01
Печать  
Цитата:
C оперативным учетом полегче.
Конечно и функций бы побольше было бы в 1с++.
На безрыбье и рак -рыба.
Но столкнулся с проблемой вытащить список периодических значений у реквизита, а в 
1с++  - только одно значение на определенную дату, прийдется писать напрямую к таблице.

не понял, а чего не хватает? метапарсер есть (спасибо DmitrO), а остальное обычный TSQL
мне пока что хватает и для работы с периодикой и для работы с регистрами, документами...
почиай FAQ для начала Улыбка
  

Лень двигатель прогресса.&&http://www.itpath.ru&&;
Наверх
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Скорость работы компоненты
Ответ #13 - 17. Октября 2006 :: 03:33
Печать  
Картина маслом:  Безрыбье. И раки.
  
Наверх
 
IP записан
 
Vladibor
Junior Member
**
Отсутствует


Адреналин гуляет по крови

Сообщений: 17
Зарегистрирован: 09. Октября 2006
Re: Скорость работы компоненты
Ответ #14 - 17. Октября 2006 :: 06:04
Печать  
Есть ли у кого полная документация по TSQL. ??
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 
ОтправитьПечать