3Проект студента Блинов Илья Игоревич: веб версия утилиты wc.
7Пользователь может отправлять MultipartForm запросы с текстовым файлом и получать для него статистику по типу обычной для утилиты wc.
11[x] Первая версия, Proof of Concept. Просто работа с MultipartForm запросами, реализация wc из домашнего задания, тестирование через отправку этого README.\
12[x] Подготовлен тестовый файл: sample.txt в 1,12 ГБ. Статистики первого wc для него: 25018508 194885810 1209339403 (строки, слова, символы)\
13[x] Реализован подсчет слов, проверена корректность\
14[x] Реализована параллельная обработка (интерфейс обращения к WordCount пришлось немного поменять для удобства)\
15[x] Реализована функция для обработки строки по батчам и переводам их в stream\
17[x] Добавлены файлы размером 500MB, 2GB, 3GB для тестов производительности\
18[x] Добавлен flamegraph
20## Анализ производительности
22На файле размером в 1GB:
231. Proof of Concept: Elapsed (wall clock) time (h:mm:ss or m:ss): 0:27.25, Maximum resident set size (kbytes): 1816
242. Подсчет слов: Elapsed (wall clock) time (h:mm:ss or m:ss): 0:39.20, Maximum resident set size (kbytes): 1816
253. С параллельной обработкой и 16 Haskell потоками: Elapsed (wall clock) time (h:mm:ss or m:ss): 0:13.07, Maximum resident set size (kbytes): 1820
27Итоговая реализация на файлах размером 500MB, 1GB, 2GB, 3GB:
281. (500MB): Elapsed (wall clock) time (h:mm:ss or m:ss): 0:07.92, Maximum resident set size (kbytes): 1820
292. (1GB): Elapsed (wall clock) time (h:mm:ss or m:ss): 0:16.96, Maximum resident set size (kbytes): 1820
303. (2GB): Elapsed (wall clock) time (h:mm:ss or m:ss): 0:29.03, Maximum resident set size (kbytes): 1824
314. (3GB): Elapsed (wall clock) time (h:mm:ss or m:ss): 0:40.95, Maximum resident set size (kbytes): 1824
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list