Переключение на Главную Страницу Страницы: 1 ... 7 8 [9] 10  ОтправитьПечать
Очень популярная тема (более 25 ответов) к вопросу быстродействия индексированных таблиц. (число прочтений - 57348 )
vlf
Junior Member
**
Отсутствует



Сообщений: 94
Зарегистрирован: 27. Января 2007
Re: к вопросу быстродействия индексированных табли
Ответ #120 - 01. Февраля 2007 :: 14:55
Печать  
Ужас
  

... истина всегда где-то рядом ...
Наверх
www  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: к вопросу быстродействия индексированных табли
Ответ #121 - 01. Февраля 2007 :: 15:04
Печать  
Цитата:
Выборка в начале списка
Время ИТЗ.УстановитьФильтр+ВыбратьСтроки() 36 Общее время цикла 8
Время                   ТЗ.НайтиЗначение() 29 Общее время цикла 10
Отставание -0.004
Выборка в середине списка
Время ИТЗ.УстановитьФильтр+ВыбратьСтроки() 0 Общее время цикла 7
Время                   ТЗ.НайтиЗначение() 107 Общее время цикла 10
Отставание -0.006
Выборка в конце списка
Время ИТЗ.УстановитьФильтр+ВыбратьСтроки() 0 Общее время цикла 7
Время                   ТЗ.НайтиЗначение() 88 Общее время цикла 10
Отставание -0.006

1) Алексей, у меня были разные значения, было и отставание, и превышение одновременно Улыбка

2) А еще обратите внимание на время выборки по индексу в ИТЗ и время простого поиска в ТЗ. Насколько велика разница Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
vlf
Junior Member
**
Отсутствует



Сообщений: 94
Зарегистрирован: 27. Января 2007
Re: к вопросу быстродействия индексированных табли
Ответ #122 - 01. Февраля 2007 :: 15:15
Печать  
Ужас, ничего не понимаю! утром был один результат, сейчас у меня тоже ... ИТЗ быстрее

Ужас Вчера вечером, примерно раз 5 прогнал - ТЗ БЫЛА БЫСТРЕЕ (есть скрин-шоты)

Еще в обед сказал - тема закрыта Подмигивание
  

... истина всегда где-то рядом ...
Наверх
www  
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: к вопросу быстродействия индексированных табли
Ответ #123 - 01. Февраля 2007 :: 15:18
Печать  
К вечеру 1С++ раскачегарилась Улыбка

Сейчас сделал проще - запустил замер в отладчике.
Получилось:
Код
Выбрать все
Итз.ВыбратьСтроки("индКлюч");	3	0.000048	0.00
Пока ИТЗ.ПолучитьСтроку("индКлюч")=1 Цикл	3003	0.012179	0.10

Если ТЗ.НайтиЗначение(ИщемЭто,птр,"Ключ")=1 Тогда	3	0.114682	0.91
 


Надеюсь, комментировать это не надо?
  

FormEx developer
Наверх
www  
IP записан
 
vlf
Junior Member
**
Отсутствует



Сообщений: 94
Зарегистрирован: 27. Января 2007
Re: к вопросу быстродействия индексированных табли
Ответ #124 - 01. Февраля 2007 :: 15:19
Печать  
А все таки, показатель. За день никто тест ни разу не запустил. хм...
  

... истина всегда где-то рядом ...
Наверх
www  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: к вопросу быстродействия индексированных табли
Ответ #125 - 01. Февраля 2007 :: 15:20
Печать  
Нужно добить -
Код
Выбрать все
ИТЗ.УстановитьФильтр(ИщемЭто,ИщемЭто,2);
Итз.ВыбратьСтроки(2);
Пока ИТЗ.ПолучитьСтроку(2)=1 Цикл
 


если использовать не наименование индекса, а номер индекса, тогда совсем все красиво и шустро Улыбка

Так совсем хорошо  Смех
Пожалуй, что тему можно закрывать и ИТЗ даже в переборе быстрее ТЗ Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: к вопросу быстродействия индексированных табли
Ответ #126 - 01. Февраля 2007 :: 15:20
Печать  
vlf писал(а) 01. Февраля 2007 :: 15:19:
А все таки, показатель. За день никто тест ни разу не запустил. хм...

Здрасте, я же запускал и не один раз Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
vlf
Junior Member
**
Отсутствует



Сообщений: 94
Зарегистрирован: 27. Января 2007
Re: к вопросу быстродействия индексированных табли
Ответ #127 - 01. Февраля 2007 :: 15:22
Печать  
Цитата:
Здрасте, я же запускал и не один раз


а что молчим?

Если мой тест, показывает  Ужас так .
хм
у меня мысль! - файл подкачки виртуальной памяти ?
  

... истина всегда где-то рядом ...
Наверх
www  
IP записан
 
DmitrO
1c++ power user
Отсутствует


ex developer

Сообщений: 579
Местоположение: г. Киров
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: к вопросу быстродействия индексированных табли
Ответ #128 - 01. Февраля 2007 :: 15:23
Печать  
artbear писал(а) 01. Февраля 2007 :: 15:20:
Нужно добить -
Код
Выбрать все
ИТЗ.УстановитьФильтр(ИщемЭто,ИщемЭто,2);
Итз.ВыбратьСтроки(2);
Пока ИТЗ.ПолучитьСтроку(2)=1 Цикл
 


если использовать не наименование индекса, а номер индекса, тогда совсем все красиво и шустро Улыбка

Так совсем хорошо  Смех
Пожалуй, что тему можно закрывать и ИТЗ даже в переборе быстрее ТЗ Улыбка

У ИТЗ надо было сделать свойство ТекущийИндекс. А не передавать его в каждый, часто итерируемый метод.
А еще я Лехе предлагал в свое время сделать индексы отдельными объектами которые бы создавались методами ИТЗ, но видимо убедить не смог. Улыбка
  
Наверх
ICQ  
IP записан
 
vlf
Junior Member
**
Отсутствует



Сообщений: 94
Зарегистрирован: 27. Января 2007
Re: к вопросу быстродействия индексированных табли
Ответ #129 - 01. Февраля 2007 :: 15:25
Печать  
Цитата:
У ИТЗ надо было сделать свойство ТекущийИндекс. А не передавать его в каждый, часто итерируемый метод.


.... с этого тема и начиналась ....
  

... истина всегда где-то рядом ...
Наверх
www  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: к вопросу быстродействия индексированных табли
Ответ #130 - 01. Февраля 2007 :: 15:27
Печать  
DmitrO писал(а) 01. Февраля 2007 :: 15:23:
У ИТЗ надо было сделать свойство ТекущийИндекс. А не передавать его в каждый, часто итерируемый метод.

Дело в том, что индекс по умолчанию уже есть - под номером 1, аналог обычной ТЗ.
Возможно, что так и нужно было поступить.
В итоге, если судить по моему опыту использования ИТЗ, использования ИТЗ без индекса практически не бывает.
Т.е. очень мало практической пользы от индекс по умолчанию.

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

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: к вопросу быстродействия индексированных табли
Ответ #131 - 01. Февраля 2007 :: 15:31
Печать  
DmitrO писал(а) 01. Февраля 2007 :: 15:23:
У ИТЗ надо было сделать свойство ТекущийИндекс. А не передавать его в каждый, часто итерируемый метод.

Эх, где же ты был, когда мы с Лехой проектировали ИТЗ Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
DmitrO
1c++ power user
Отсутствует


ex developer

Сообщений: 579
Местоположение: г. Киров
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: к вопросу быстродействия индексированных табли
Ответ #132 - 01. Февраля 2007 :: 15:34
Печать  
artbear писал(а) 01. Февраля 2007 :: 15:31:
DmitrO писал(а) 01. Февраля 2007 :: 15:23:
У ИТЗ надо было сделать свойство ТекущийИндекс. А не передавать его в каждый, часто итерируемый метод.

Эх, где же ты был, когда мы с Лехой проектировали ИТЗ Улыбка

Это было какраз в тот момент когда Леха обратился ко мне с предложением включить ИТЗ в функционал 1с++.
  
Наверх
ICQ  
IP записан
 
vlf
Junior Member
**
Отсутствует



Сообщений: 94
Зарегистрирован: 27. Января 2007
Re: к вопросу быстродействия индексированных табли
Ответ #133 - 01. Февраля 2007 :: 15:36
Печать  
И просьба добавить в документацию
ИТЗ вечером работает быстрее  Смех Смех Смех Смех Смех Смех Смех Смех Смех
  

... истина всегда где-то рядом ...
Наверх
www  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: к вопросу быстродействия индексированных табли
Ответ #134 - 01. Февраля 2007 :: 15:39
Печать  
DmitrO писал(а) 01. Февраля 2007 :: 15:23:
У ИТЗ надо было сделать свойство ТекущийИндекс. А не передавать его в каждый, часто итерируемый метод.

Нет, Дмитрий, не надо, по опыту говорю.
Тут вырожденный случай - индекс один, перебор превалирует и т.д.

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

Цитата:
А еще я Лехе предлагал в свое время сделать индексы отдельными объектами которые бы создавались методами ИТЗ, но видимо убедить не смог. Улыбка

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

А в некоторых паттернах это весьма востребованная задача.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 7 8 [9] 10 
ОтправитьПечать