Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > Общие вопросы Web
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.09.2016, 23:04   #121
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

слишком малые значения измерений(не сумма, а единичное измерение) сильно страдают от нее.(для значения в секунду погрешность в 1 мс не критична, для значения в 1мс, она критична)
в этом и ошибка.
потому у меня и нет обращений по одному.
Цитата:
и оба теста суммируются по количеству итераций, и в придачу массив индексов
массив индексов как я говорил для того чтоб все обращения были одинаковы.
выводится общее время всех итерация, и так же выводится среднее время(в мс и в тиках) каждой итерации, что сглаживает погрешности.

лучший результат что я сумел выжать(тут итераций 1000)
Цитата:
TestOwn: 00:00:32.5224269 : 32,522 : 76051
TestOwn2: 00:00:16.9611697 : 16,961 : 39662
TestSL: 00:00:37.0996922 : 37,099 : 86755
TestOwn2 это новый оптимизированный метод поиска по индексу.
как видите он в 2 раза быстрее.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 11.09.2016 в 23:08.
Пепел Феникса вне форума Ответить с цитированием
Старый 11.09.2016, 23:10   #122
OmegaBerkut
Спокойный псих
Участник клуба
 
Аватар для OmegaBerkut
 
Регистрация: 19.03.2013
Сообщений: 1,538
По умолчанию

Пепел Феникса
У меня и так все обращения одинаковы, к тому же проводились последовательно для каждого значения. Но без массива.
При этом наличие погрешностий в обоих тестах, как я уже сказал +/- 0.5% - не критично, особенно для суммы скоростей. Ибо класс Stopwatch (он вроде так называется) из Diagnostics работает на уровне тактов процессора, то бишь на одну миллисекунду 10 000 тактов, что довольно таки точно.
Подпись ? Не, не слышал ...
OmegaBerkut вне форума Ответить с цитированием
Старый 11.09.2016, 23:15   #123
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
При этом наличие погрешностий в обоих тестах, как я уже сказал +/- 0.5% - не критично, особенно для суммы скоростей.
у вас сумма из чего состоит?
погрешность не на уровне суммы.
Цитата:
Ибо класс Stopwatch (он вроде так называется) из Diagnostics работает на уровне тактов процессора, то бишь на одну миллисекунду 10 000 тактов, что довольно таки точно.
он довольно точен, но не лишен погрешностей.
(+ у вас многозадачная система)

еще хуже...ваш класс оказывается неплохо себя вел из-за try catch.(он там не допустим кстати)
(все индексы гарантировано внутри количества элементов)
Цитата:
TestOwn: 00:00:14.4771907 : 144,77 : 338539
TestOwn2: 00:00:07.1262921 : 71,26 : 166643
TestSL: Fail : NullReferenceException
интересно, что у вас фейлится тогда, добавление или же поиск.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 11.09.2016 в 23:20.
Пепел Феникса вне форума Ответить с цитированием
Старый 11.09.2016, 23:20   #124
OmegaBerkut
Спокойный псих
Участник клуба
 
Аватар для OmegaBerkut
 
Регистрация: 19.03.2013
Сообщений: 1,538
По умолчанию

Пепел Феникса
Суммы скоростей разового доступа, которых всего 5 000.
В погрешность как раз входит точность тактового генератора процессора, и многозадачность тут играет пренебрежимо малую роль.
Подпись ? Не, не слышал ...
OmegaBerkut вне форума Ответить с цитированием
Старый 11.09.2016, 23:23   #125
OmegaBerkut
Спокойный псих
Участник клуба
 
Аватар для OmegaBerkut
 
Регистрация: 19.03.2013
Сообщений: 1,538
По умолчанию

А кто говорил, что try catch недопустим ? Это и есть метод ограничения выхода за пределы индексации. Ещё я условий не прописывал для этого.
Подпись ? Не, не слышал ...
OmegaBerkut вне форума Ответить с цитированием
Старый 11.09.2016, 23:24   #126
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

мда, поправив ошибку, мне удалось приблизить его к стандартному, поздравляю.
Цитата:
TestOwn: 00:00:14.6508585 : 146,5 : 342600
TestOwn2: 00:00:07.0907149 : 70,9 : 165811
TestSL: 00:00:14.1902108 : 141,9 : 331829
на тысячу элементов списка вы выиграли 5мс за тысячу обращений.(по сравнению с не оптимизированным поиском)
оно реально стоит всех потерь и не удобств?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 11.09.2016 в 23:27.
Пепел Феникса вне форума Ответить с цитированием
Старый 11.09.2016, 23:27   #127
OmegaBerkut
Спокойный псих
Участник клуба
 
Аватар для OmegaBerkut
 
Регистрация: 19.03.2013
Сообщений: 1,538
По умолчанию

Это только первое "улучшение", двухлетней давности. Ещё я буду курить двусвязный закольцованный список.
И как я говорил, раньше было 1.5 ускорение
Подпись ? Не, не слышал ...

Последний раз редактировалось OmegaBerkut; 11.09.2016 в 23:31.
OmegaBerkut вне форума Ответить с цитированием
Старый 11.09.2016, 23:31   #128
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от OmegaBerkut Посмотреть сообщение
Это только первое "улучшение", двухлетней давности. Ещё я буду курить двусвязный список.
5мс того не стоят, лучше полезным заняться, чем пытаться выиграть жалкие такты.
тем более что улучшенный поиск все равно в 2 раза быстрее.

Цитата:
А кто говорил, что try catch недопустим ? Это и есть метод ограничения выхода за пределы индексации. Ещё я условий не прописывал для этого.
потому что этим вы маскируете и свои косяки.(что и вышло сначала, ошибка была, а из-за этого ее не было видно)
проверять данные надо.
Цитата:
В погрешность как раз входит точность тактового генератора процессора, и многозадачность тут играет пренебрежимо малую роль.
она играет довольно значимую роль, значения могут скакать от измерения к измерению(порою разница в 2 раза для разовых измерений)
но измеряя так вы усиливаете ее влияние.
погрешность в целом одинакова в пределах секунды скажем, но в пределах точечных значений она велика.

Цитата:
И как я говорил, раньше было 1.5 ускорение
ваш код без фиксов моих в принципе не работал...откуда ускорение то.

в общем, я не вижу смысла продолжать это, вы играете с тактами, хотя реального выигрыша я не увидел.
я вам показал минусы этого всего, если хотите можете закрывать на это глаза дальше.
дело ваше, жизнь тратить вам.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 11.09.2016 в 23:35.
Пепел Феникса вне форума Ответить с цитированием
Старый 11.09.2016, 23:37   #129
OmegaBerkut
Спокойный псих
Участник клуба
 
Аватар для OmegaBerkut
 
Регистрация: 19.03.2013
Сообщений: 1,538
По умолчанию

Через пару дней я вернусь сюда с оптимизированным и допиленным методом обращения. И с результатами тестов. Померяемся, у кого меньше
Подпись ? Не, не слышал ...
OmegaBerkut вне форума Ответить с цитированием
Старый 11.09.2016, 23:40   #130
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

я за это время лучше допишу свою библиотеку автообновления.
а так же начну писать компонент для визуального программирования.(аля блок схемы)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Небольшое веб-приложение на ASP.NET aly-lucenko Фриланс 10 10.01.2014 23:31
Веб-приложение asp.net MVC и с чем его едят nec117 ASP.NET 0 18.04.2011 17:04