Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Тяпничная унификация
|
|||
|---|---|---|---|
|
#18+
Сведенья по тестовым данным. md5Filesize8e32018f35dde63bcb347e8ad4456305ripe.db5 462 799 419a7d47a1ebed601c4c9c2df7cc85f74aehashkiller-dict.txt1 237 341 935 Чуть позже я сделаю enrichment этих данных чтоб добавить кардинальность и количество строк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2017, 21:46 |
|
||
|
Тяпничная унификация
|
|||
|---|---|---|---|
|
#18+
Dima T, спрасибо. Статистика хорошая. По поводу сорца. Код: plaintext 1. 2. 3. 4. 5. Я не знаю как устрена твоя функция crc32 но КМК мы сжигаем полезные мегафлопы на расчете strlen. Можно было объединить это всесте с crc32. А результаты вернуть по ссылкам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2017, 21:49 |
|
||
|
Тяпничная унификация
|
|||
|---|---|---|---|
|
#18+
Старые проекты такие как primegen-experiments, Card-raytracer-benchmark никуда не пропали просто я тихонько мигрирую на гитхаб. Так что все сорцы сохранились. Я пытаюсь исследовать возможности github и bitbucket и выбрать что удобнее. GitHub не позволяет скрыть исходники (по крайней мере бесплатно). И это минус который заставляет меня искать другие планы хостинга. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2017, 22:15 |
|
||
|
Тяпничная унификация
|
|||
|---|---|---|---|
|
#18+
maytonКоллеги я забыл ваши учетки в sourceforge. Сообщите plz. Еле нашел кем там числюсь: dmitriyt Посмотри в этом проекте, в настройках может остались кто учавствовал: https://sourceforge.net/projects/card-raytracer-bench/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 08:45 |
|
||
|
Тяпничная унификация
|
|||
|---|---|---|---|
|
#18+
maytonКоллеги я забыл ваши учетки в sourceforge. Сообщите plz.Учетка аналогичная, письмо через сорсфордж отправлял. добавь к проекту обсуждения или тикеты, можно было бы там отписываться. битбукетом пользуюсь для личных коммерческих проектов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 08:48 |
|
||
|
Тяпничная унификация
|
|||
|---|---|---|---|
|
#18+
Добавил обоих. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 08:59 |
|
||
|
Тяпничная унификация
|
|||
|---|---|---|---|
|
#18+
maytonЯ не знаю как устрена твоя функция crc32 но КМК мы сжигаем полезные мегафлопы на расчете strlen. Можно было объединить это всесте с crc32. А результаты вернуть по ссылкам. crc32() где-то в инете нашел Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. Если тут что-то менять, то fgets() на fread() или вообще WinAPI задействовать, т.е. читать страницами кратно секторам. Я замеры делал: fgets() 60% времени съедает. Просто прочитать файл (5.2 Гб) с подсчетом кол-во строк: 26 сек. с добавлением strlen() и crc32() 44 сек. Т.е. чисто чтение 200 Мб/сек, хотя файл лежал на SSD с чтением 700 МБ/сек, а может вообще в кэше виндовса. В общем надо чтение ускорять, потом можно акторы добавить и расчет crc32 распараллелить :) Попозже соберу исходники в отдельный проект. На скорую руку писал в проекте для тестов, там помойка из всякой всячины. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 09:08 |
|
||
|
Тяпничная унификация
|
|||
|---|---|---|---|
|
#18+
Я-бы предложил пока без акторов. Но отказаться от строковых операций и сделать работу на базе fopen/fread. Тоесть работать с потоком байт(символов). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 09:13 |
|
||
|
Тяпничная унификация
|
|||
|---|---|---|---|
|
#18+
Dima TmaytonКоллеги я забыл ваши учетки в sourceforge. Сообщите plz. Еле нашел кем там числюсь: dmitriyt Посмотри в этом проекте, в настройках может остались кто учавствовал: https://sourceforge.net/projects/card-raytracer-bench/ Я тогда посчитал что коммитов больше не будет и поудалял участников и списка девелоперов. Поскольку я больше сабжем не занимался то и просматривать changes мне уже не хотелось. Лишняя обязанность была ни к чему. Но я могу возобновить активности по Card-Raytrace если будут предложения от мемберов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 09:23 |
|
||
|
Тяпничная унификация
|
|||
|---|---|---|---|
|
#18+
maytonДобавил обоих.закоммитил ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 10:25 |
|
||
|
Тяпничная унификация
|
|||
|---|---|---|---|
|
#18+
Siemargl, Oh! Thnx. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 11:26 |
|
||
|
Тяпничная унификация
|
|||
|---|---|---|---|
|
#18+
По поводу своего сорца. Я до него доберусь не раньше выходных (я так думаю). Дима. Не видел пока еще твоего коммита. Размышлял по поводу worst-case. Я думаю если объединить файл сам с собой через cat, то мы как раз получим этот самый случай. Siemargl. Интересный алгоритм. Насколько я понял предлагается использовать сам файл как хранилище искомых строк. У меня возникает вопрос дисковой нагрузки. Надо сделать бенчмарк чтобы посмотреть насколько это дорогая операция. По поводу всех (в будущем) алгоритмов. Я не ищу лучшего. Я буду строить матрицу алгоритмов где каждый имеет свои сильные стороны. Для каждого файла (для каждого распределения данных) будет оптимальным какой-то определенный алгоритм и (возможно) с кастомным вектором парамтеров. В настоящий момент я уже выделяю их столько: 1) Naive Hash-table.(NHT) Это самая первая наивная идея о которой думал каждый разработчик. И которая возможно нелетает вследствие некоторого соотношения cardinality/rows. Но она тоже участвует в гонке. 2) CRC32-2-Phase . Вариант Димы. 3) Big-File-Unique-Lines-Counting (BFULC) . Вариант Зямы. 4) Split-Bucket-Processing-2-Phase (SBP2P) . Мой вариант который я еще не осилил. 5) Linux-Sort-Unique (LSU) . Куда-ж без него (машу Дохтару рукой). Если есть еще варианты - пишите. Прошу также коммитить работающий код. Илья? Сова? Вас тоже приглашаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 21:56 |
|
||
|
Тяпничная унификация
|
|||
|---|---|---|---|
|
#18+
mayton, если хэш адекватный размеру исходников (64бит для 5Гб хватает), то перепроверка не требуется, иначе удесятеряет/вниз скорость я могу ускорить перепроверку, введя кэш LFU, но честно говоря, возник вопрос - а какая точность решения задачи допустима? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 22:18 |
|
||
|
Тяпничная унификация
|
|||
|---|---|---|---|
|
#18+
Нужно точное решение. Боюсь что приближенное просто никому не будет нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 22:26 |
|
||
|
Тяпничная унификация
|
|||
|---|---|---|---|
|
#18+
Обновлённые сведенья по тестовым выборкам. md5FileSizeRowsCardinalityCard/RowsAvgRowLenc4095f84f8f0e20fc15e85108face730edit_data27G43 891 6806608e32018f35dde63bcb347e8ad4456305ripe.db5 462 799 419143 410 60438a7d47a1ebed601c4c9c2df7cc85f74aehashkiller-dict.txt1 237 341 93588 405 43013 Некоторые колонки я еще не посчитал. Сорян. Нечем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 22:35 |
|
||
|
Тяпничная унификация
|
|||
|---|---|---|---|
|
#18+
mayton, ждем твое решение на яве ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 23:06 |
|
||
|
Тяпничная унификация
|
|||
|---|---|---|---|
|
#18+
Данную тулзу я напишу на сях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 23:18 |
|
||
|
Тяпничная унификация
|
|||
|---|---|---|---|
|
#18+
Дима. Я посмотрел на этот кусок функции и возникла мысль что не стоит так часто очищать полезную таблицу магических констант для CRC32. Пускай она живет все время пока работает приложение. ИМХО. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. [/SRC] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 23:29 |
|
||
|
Тяпничная унификация
|
|||
|---|---|---|---|
|
#18+
Siemargl, запустил твоё приложение под Windows10-x64/MinGW-6.4.0. Анализировал hashkiller-dict.txt. Где-то после 8 минут работы - прервал. Скушал доступную память (где-то с 4Г занятых у меня до 7.9). При этом в консоли было Completed 940 Mb. Вобщем надо что-то подоптимизировать. Это был самый мелкий файл из моей тестовой выборки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2017, 00:19 |
|
||
|
Тяпничная унификация
|
|||
|---|---|---|---|
|
#18+
maytonДима. Я посмотрел на этот кусок функции и возникла мысль что не стоит так часто очищать полезную таблицу магических констант для CRC32. Пускай она живет все время пока работает приложение. ИМХО. Это было задумано для освобождения памяти, т.к. незачем считать CRC от блока в 0 байт, но в нашем случае встречаются пустые строки, где size == 0. Закаментил, затестил, на 5 сек быстрее стало чем 20773604 : Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2017, 07:35 |
|
||
|
Тяпничная унификация
|
|||
|---|---|---|---|
|
#18+
maytonДима. Не видел пока еще твоего коммита. Вчера вечером пытался заменить fgets() на fread(), запутался в поисках конца последней полной строки: указатели, смещения ... ((( Сегодня оформлю в отдельный проект вариант с fgets(), залью. maytonРазмышлял по поводу worst-case. Я думаю если объединить файл сам с собой через cat, то мы как раз получим этот самый случай. Да, так и есть. На перепроверку во втором проходе пойдут все уникальные найденные по CRC. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2017, 07:48 |
|
||
|
Тяпничная унификация
|
|||
|---|---|---|---|
|
#18+
Dima T, может стрельнуть последовательность чередующихся пустых строк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2017, 07:51 |
|
||
|
Тяпничная унификация
|
|||
|---|---|---|---|
|
#18+
maytonпод Windows10-x64/MinGW-6.4.0. Ты компилятор обновил? С++11 понимает? Помня что у тебя акторы не скомпилировались, не стал unordered_map и unordered_set использовать. Они немного побыстрее чем map и set. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2017, 07:59 |
|
||
|
Тяпничная унификация
|
|||
|---|---|---|---|
|
#18+
maytonSiemargl, запустил твоё приложение под Windows10-x64/MinGW-6.4.0. Анализировал hashkiller-dict.txt. Где-то после 8 минут работы - прервал. Скушал доступную память (где-то с 4Г занятых у меня до 7.9). При этом в консоли было Completed 940 Mb. Вобщем надо что-то подоптимизировать. Это был самый мелкий файл из моей тестовой выборки.У меня такого файла нет. Выкладывай ссылки на входные данные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2017, 08:00 |
|
||
|
Тяпничная унификация
|
|||
|---|---|---|---|
|
#18+
Dima TВчера вечером пытался заменить fgets() на fread(), запутался в поисках конца последней полной строки: указатели, смещения ... ((( Сегодня оформлю в отдельный проект вариант с fgets(), залью. ОК. Закоммить стабильную версию с fgets(). Я буду смотреть. Мне уже хочется что-то с чем-то сравнивать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2017, 08:00 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=39516215&tid=2018073]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
169ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 285ms |
| total: | 552ms |

| 0 / 0 |
