Loading...
dobribozhilov avatar dobribozhilov -11 Точки

Някой тества ли наистина домашното за "колекции и библиотеки" със 100 МВ файл?

Някой има ли да е тествал първата задача от домашното за броене на думи, наистина със 100 МВ файл. Аз успях да намеря "Atlas Shrugged", която в текстов формат е около 3 МВ. Програмата ми ги превърта за около 4 секунди, като за да видя какво прави, ги изкарах не само на конзола, но и в текстов файл (резултатът). Т.е. това е време и за конзола, и за писане във файл. Самия текстов файл излезе 319 КВ :)

При тази скорост, ако от някъде се намери файл 100 МВ, би трябвало да превърти за около 120 секунди :)

Някой има ли подобен тест :)

Тагове:
krach avatar krach 65 Точки

С книгата на Наков за C# на английски копирах няколко пъти една глава докато не ги докарах до ~120 МБ.  Като време за чете на файла ми даде 25 секунди горе долу а резултата сравнително бързо ми го изплю.

Ако някой не му се търси файл в тхт с такива размери пускам линк за самия файл, Архивиран е.

https://drive.google.com/file/d/0B23rvVgQ6kiRTzR0RGVDVHNmQ3M/view?usp=sharing

Ето и линк към кода: https://github.com/krachunov/homeWork7/tree/master/HomeWork7/src

 

EDIT: Сега тествах през Word 2007  да го товроя, каза ми че съм надвишил максималния лимит за страници.

0
19/08/2015 21:36:57
nikola.m.nikolov avatar nikola.m.nikolov 830 Точки

Аз използвах сайта LoremIpsum да генерира малък текст (пробвах да ми генерира 100МБ, но явно имат ограничение...) и го копирах многократно. 100Mb ми ги прочита за 15 секунди заедно с обработката (split и вкарване в речник). Търсенето после става супер бързо, все пак е речник.

0
19/08/2015 21:42:47
dobribozhilov avatar dobribozhilov -11 Точки

При мен този вашия файл го извърта за 12 секунди. Установих обаче друго нещо интересно. Изходният файл този път е само 22 КВ. Т.е. 15 пъти по-малко. Т.е. езикът на Наков е 15 пъти по-беден откъм думи и изрази, от езика на Айн Ранд :)

0
krach avatar krach 65 Точки

И аз го бях направил с HashMap само, че в HashMap бях сложил думите, които търся, като идеята ми беше да не броя весички думи а само търсените. А текста от файла беше в лист. После установих, че така на практика обхождам 2 пъти целия текст (един път да го въвежда в листа и втори път за да намеря търсените думи) и обърнах при чете да записва в HashMap-а а търсените думи в лист. Сега файла 120 МБ го обработва за около 4 секунди +/- а самото търсене е излишно да го коментирам.

Така мисля, че и памет пести понеже не запомня дадена дума "педесет хиляди пъти" в даден лист ами ако открие съвпадение само променя стойността в речника.

0
20/08/2015 09:29:20
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.