реклама на сайте
подробности

 
 
> Быстрый алгоритм CRC, придумать надо
zombi
сообщение Aug 26 2012, 08:37
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Господа, посоветуйте быстрый алгоритм подсчета CRC блока 32кБ.
CRC16,CRC32...MD5 не подходят из за большого времени счёта.
По быстродействию устраивает одно чтение байта и одна (максимум 2) операция с ним.

Реализовал вот так.
Весь блок рассматриваю как последовательность 8-ми байтных целых чисел и просто их суммирую.
В результате CRC тоже 8-мь байт.
Вопрос: если CRC сделать не восемь а девять или десять байт, будет ли надёжнее?

А может кто то предложит еще какой то быстрый алгоритм?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
kovigor
сообщение Aug 26 2012, 11:58
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(zombi @ Aug 26 2012, 11:37) *
А может кто то предложит еще какой то быстрый алгоритм?

"Табличная" реализация расчета CRC имеется в той же Википедии и работает достаточно быстро. Может, вам лучше заменить МК на более производительный ? Или, если позволяет задача, можно подсчитывать CRC "на лету", подавая на вход вычислителя все новые и новые байты по мере их поступления в 32 - килобайтный массив ...
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Aug 26 2012, 12:20
Сообщение #3


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Быстрее и надёжнее стандартного табличного CRC вы вряд ли изобретёте. ИМХО.
Если конечно не будете использовать аппаратный блок микроконтроллера для расчёта CRC как например в STM32.


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
ReAl
сообщение Aug 26 2012, 18:12
Сообщение #4


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(demiurg_spb @ Aug 26 2012, 15:20) *
Быстрее и надёжнее стандартного табличного CRC вы вряд ли изобретёте. ИМХО.
Для xmega оно, конечно, офтопик, но вот вроде бы быстрее:
http://w..._generators.pdf
http://sourceforge.net/projects/slicing-by-8/


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- zombi   Быстрый алгоритм CRC   Aug 26 2012, 08:37
- - vvs157   Цитата(zombi @ Aug 26 2012, 12:37) Весь б...   Aug 26 2012, 10:43
|- - zombi   Цитата(vvs157 @ Aug 26 2012, 13:43) Это н...   Aug 26 2012, 13:11
|- - ae_   Цитата(zombi @ Aug 26 2012, 22:11) ...Про...   Aug 26 2012, 14:08
||- - zombi   Цитата(ae_ @ Aug 26 2012, 17:08) Можно сн...   Aug 26 2012, 15:13
|- - vvs157   Цитата(zombi @ Aug 26 2012, 17:11) Нужно ...   Aug 26 2012, 15:31
||- - zombi   Цитата(vvs157 @ Aug 26 2012, 18:31) Для э...   Aug 26 2012, 16:40
|- - haker_fox   QUOTE (zombi @ Aug 26 2012, 22:11) Времен...   Aug 26 2012, 15:42
||- - zombi   Цитата(haker_fox @ Aug 26 2012, 18:42) А ...   Aug 26 2012, 16:26
|- - _Артём_   Цитата(zombi @ Aug 26 2012, 16:11) Проц X...   Aug 26 2012, 16:59
|- - _Артём_   Цитата(_Артём_ @ Aug 26 2012, 19:59) Если...   Aug 26 2012, 17:16
|- - zombi   Цитата(_Артём_ @ Aug 26 2012, 19:59) Если...   Aug 26 2012, 18:11
|- - zombi   Цитата(zombi @ Aug 26 2012, 21:11) Надо п...   Aug 26 2012, 18:39
- - _Pasha   Процессор 8-разрядный? Тогда возьмите CRC16 из мод...   Aug 26 2012, 12:54
- - Plain   Цитата(zombi @ Aug 26 2012, 11:37) устраи...   Aug 26 2012, 16:30
- - Plain   Если нужно просто убедиться в целости линий адресо...   Aug 26 2012, 16:57
|- - zombi   Цитата(Plain @ Aug 26 2012, 19:57) Если н...   Aug 26 2012, 17:02
|- - kovigor   Суммы действительно хватит, скорее всего. Для прим...   Aug 26 2012, 17:30
|- - Plain   Цитата(Plain @ Aug 26 2012, 19:57) Если н...   Aug 26 2012, 17:42
- - Sirko   Возможно ляпну ерунду, но у xmega есть некая ...   Aug 26 2012, 17:57
- - редактор   ЦитатаПо быстродействию устраивает одно чтение бай...   Aug 27 2012, 06:56
- - ILYAUL   ЦитатаНужно тестить внешнюю флеш на предмет самопр...   Aug 27 2012, 08:10
|- - zombi   Цитата(ILYAUL @ Aug 27 2012, 11:10) Ваш п...   Aug 27 2012, 11:26
|- - ILYAUL   Цитата(zombi @ Aug 27 2012, 15:26) А поче...   Aug 27 2012, 13:50
|- - zombi   Цитата(ILYAUL @ Aug 27 2012, 16:50) К том...   Aug 27 2012, 16:17
- - ILYAUL   Ну вот , что-то уже прояснилось. Раз уж процу ещё...   Aug 28 2012, 06:16
|- - zombi   Цитата(ILYAUL @ Aug 28 2012, 09:16) 1. ...   Aug 28 2012, 07:21
|- - ReAl   Цитата(zombi @ Aug 28 2012, 10:21) Т.е. В...   Aug 28 2012, 07:43
|- - zombi   Цитата(ReAl @ Aug 28 2012, 10:43) В завис...   Aug 28 2012, 08:43
|- - ReAl   Цитата(zombi @ Aug 28 2012, 11:43) Блин 1...   Aug 28 2012, 13:56
- - ILYAUL   А почему бы и нет, для быстрой проверки. К тому же...   Aug 28 2012, 07:29
- - _Pasha   Может и глупость скажу. Возьмите контрольные суммы...   Aug 28 2012, 07:44
- - ViKo   Так ли уж обязательно надо быстро? Можно придумать...   Aug 28 2012, 09:17
|- - zombi   Цитата(ViKo @ Aug 28 2012, 12:17) Так ли ...   Aug 28 2012, 12:40
|- - ViKo   Цитата(zombi @ Aug 28 2012, 15:40) При от...   Aug 28 2012, 13:13
- - _Ivana   ЦитатаПри отладке 2-3 изделий можно конечно и подо...   Aug 28 2012, 12:58
|- - zombi   Цитата(_Ivana @ Aug 28 2012, 15:58) то со...   Aug 28 2012, 13:23
- - VCO   При таком подходе можно в схемотехнику всепить CPL...   Aug 28 2012, 13:27
|- - zombi   Цитата(VCO @ Aug 28 2012, 16:27) При тако...   Aug 28 2012, 13:36
- - ViKo   Мне думается, получив каждую новую плату, тестиров...   Aug 28 2012, 13:46
|- - zombi   Цитата(ViKo @ Aug 28 2012, 16:46) Мне дум...   Aug 28 2012, 22:32
|- - _Артём_   Цитата(zombi @ Aug 29 2012, 01:28) (2е ми...   Aug 28 2012, 22:33
|- - zombi   Цитата(_Артём_ @ Aug 29 2012, 01:33) И чё...   Aug 28 2012, 22:42
|- - ReAl   Цитата(zombi @ Aug 29 2012, 01:42) И чё? ...   Aug 29 2012, 08:49
|- - zombi   Цитата(ReAl @ Aug 29 2012, 11:49) 8 / 8 =...   Aug 29 2012, 14:57
- - Flexz   Если вопрос только в работе тестировщика, то почем...   Aug 29 2012, 08:42
- - _Pasha   CRC32 у Вас вызывается 262144 раза. Но оно длиннее...   Aug 29 2012, 15:21
- - zombi   Цитата(_Pasha @ Aug 29 2012, 18:21) CRC32...   Aug 29 2012, 19:33
- - _Pasha   Цитата(zombi @ Aug 29 2012, 22:33) 16*102...   Aug 30 2012, 02:47


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th June 2025 - 08:14
Рейтинг@Mail.ru


Страница сгенерированна за 0.01426 секунд с 7
ELECTRONIX ©2004-2016