Skip to content

dankokin/Pipeline

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go Concurrency Pipeline

Суть заключается в том, чтобы написать конвейер функций, в котором STDOUT одной программы передаётся как STDIN в другую программу.

Расчет хеш-суммы реализован следующей цепочкой:

  • SingleHash считает значение crc32(data)+"~"+crc32(md5(data)) (конкатенация двух строк через ~), где data - то что пришло на вход.
  • MultiHash считает значение crc32(th+data)) (конкатенация цифры, приведённой к строке и строки), где th=0..5, потом берёт конкатенацию результатов в порядке расчета.
  • CombineResults получает все результаты, сортирует, объединяет отсортированный результат через _ в одну строку
  • crc32 считается через функцию DataSignerCrc32
  • md5 считается через DataSignerMd5

Особенности:

  • DataSignerMd5 может одновременно вызываться только 1 раз, считается 10 мс. Если одновременно запустятся несколько - будет перегрев на 1 сек
  • DataSignerCrc32, считается 1 сек
  • На все расчеты 3 сек.

Запуск тестов - go test -v -race

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages