An overengineered solution to `sort | uniq -c` with 25x throughput (hist)
Проект hist-rs представляет собой высокопроизводительный утилиту для подсчета уникальных строк, написанную на Rust. Его ключевое преимущество — скорость работы, которая в 25 раз превышает производительность классической команды sort | uniq -c в Unix-системах. Это делает его идеальным инструментом для анализа больших лог-файлов и наборов данных, где важна скорость обработки.
Проект реализует эффективный алгоритм подсчета, минимизируя потребление памяти и процессорного времени. Он особенно полезен для разработчиков и системных администраторов, работающих с большими объемами текстовых данных. Код проекта открыт и доступен на GitHub, что позволяет сообществу вносить вклад в его развитие и адаптацию под различные задачи обработки текста.
Комментарии (62)
- Обсуждение началось с вопроса о производительности различных инструментов для подсчёта уникальных строк в файле, где был упомянут
clickhouse-localкак самый быстрый способ. - Участники обсуждали различные инструменты, включая
sort,uniq,awk,uniq -c,sort | uniq -c | sort -n,tsvиcsv, а также их производительность и использование памяти. - Были упомянуты такие инструменты как
tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort,tsort, `tsor
Modern Linux tools
Проект Gamedev Guide обновил раздел о современных инструментах Linux для разработчиков. Основное внимание уделено оптимизации рабочего процесса: авторы рекомендуют использовать Docker для изоляции окружений, что ускоряет сборку и тестирование. Особо отмечена интеграция с Windows Subsystem for Linux (WSL2) для кросс-платформенной разработки, а также инструменты вроде Ninja для ускоренной компиляции C++ проектов. В статье приводятся примеры настройки CI/CD пайплайнов под Linux, что особенно полезно для крупных команд. Авторы подчеркивают, что современный Linux уже не уступает в инструментах для разработки под Windows, а в чём-то даже превосходит.
Комментарии (123)
- Обсуждение в основном вращается вокруг того, что «современные» инструменты не всегда объективно лучше, а скорее улучшают UX и визуально оформляют вывод, и что важнее уметь пользоваться базовыми утилитами, чем полагаться на специфические инструменты, которые могут не оказаться в других окружениях.
- Участники обсуждают, что важно знать и уметь использовать базовые инструменты, такие как
find,grep,sed,awk,vi,ed,less,tail,head,tar,ls,cat,dd,top,ps,kill,df,du,free,uptime,w,who,last,ls,df,mount,umount,fdisk,lsblk,blkid,lsusb,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsomod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsomod,lsmod,lsmod,lsmod,lsmod,lsomod,lsmod,lsmod,lsmod,lsmod,lsomod,lsmod,lsmod,lsomod,lsmod,lsmod,lsomod,lsmod,lsomod,lsmod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod, `