Skip to content

rbaygildin/benchmark-loops

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

=================================================================
Автор: Байгильдин Р.В. ([email protected], [email protected])
Группа: БПИ141 (2)
Проект: Домашнее задание за 4 модуль
Версия: 1.0
=================================================================

——————————————————————————————————————
Содержание:
—> 1. Описание
—> 2. Реализованные пункты домашнего задания
		2.1 Основные пункты
		2.2 Дополнительные пункты
—> 3. Технологии, использованные при разработке
—> 4. Структура проекта
—> 5. Порядок запуска
——————————————————————————————————————

1. Описание

	Программа производит измерение работы методов, реализующие 	различные действия над коллекциями (поиск простых чисел, 	суммирование, нахождение корреляции между выборками) с помощью 	классических циклов, foreach, последовательных и параллельных потоков, 	сбор статистики и ее виузализации в виде графиков.

2. Реализованные пункты домашнего задания

	2.1 Основные пункты

	————————————————————————————————
	[1] Коллекции из java.util.*                                                            [   да   ]
	————————————————————————————————
	|                                                                                   
	————————————————————————————————
	[2] Промежуточные и терминальные операции                         [   да   ]
	————————————————————————————————
	|
	————————————————————————————————
	[3] Оценка времени исполнения                                                  [   да   ]	————————————————————————————————
	|
	————————————————————————————————
	[4] Реализация Functional Interfaces 
	с помощью лямбд-выражений  				                        [   да   ]	————————————————————————————————
	|
	————————————————————————————————
	[5] Функциональные интерфейсы 
	собственной разработки                                                              [   да   ]	————————————————————————————————
	|
	————————————————————————————————
	[6] Графический интерфейс JavaFX                                           [   да   ]	————————————————————————————————
	|
	————————————————————————————————
	[7] Ссылки на методы через this и super                                    [   да   ]	————————————————————————————————
	|
	————————————————————————————————
	[8] Ссылки на конструкторы                                                        [   да   ]	————————————————————————————————
	|
	————————————————————————————————
	[9] Default-методы                                                                         [   да   ]	————————————————————————————————
	|
	————————————————————————————————
	[10] Static-методы в интерфейсах                                               [   да   ]	————————————————————————————————
	|
	————————————————————————————————
	[11] Реализация собственных accumulator и combiner 
	в методах reduce()                                                                        [   да   ]	————————————————————————————————
	|
	————————————————————————————————
	[12] Реализация своих mapFunc* для методов mapTo*            [   да   ]	————————————————————————————————
	|
	————————————————————————————————
	[13] Демонстрация collect() с использованием 
	accumulator и combiner                                                                 [   да   ]	————————————————————————————————
	|
	————————————————————————————————
	[14] Сборка с помощью Maven                                                    [   да   ]	————————————————————————————————
	|
	————————————————————————————————
	[15] Юнит-тестирование с помощью JUnit                                 [   да   ]	————————————————————————————————
	|
	————————————————————————————————
	[16] Javadoc                                                                                   [   да   ]	————————————————————————————————

	2.2 Дополнительные пункты

	Также было реализовано:
	— внедрение зависимостей;
	— Fork/Join;
	— собственные BeanPostProcessor для инициализации бинов;
	— написание собственных прокси для служебных целей (измерение 	времени работы методов, логирование и внедрение зависимостей);
	— подключение к базе данных (SQLite) с помощью JDBC;
	— настройка контекста с помощью Spring.

3. Технологии, использованные при разработке

	При разработке были использованы следующие технологии:
	— Java 8;
	— Stream API;
	— JavaFX;
	— Fork/Join;
	— аннотации;
	— BeanPostProcessor;
	— Spring 4 (Core, Context, Test);
	— JDBC;
	— драйвер SQLite;
	— прокси Proxy;
	— JUnit 4;
	— Apache Maven;
	— Joda Time;
	— JetBrains IntelliJ Idea.

 4. Структура проекта

	Проект состоит из двух архивов:
	— yarnykh_bpi141.rar - исходные коды программы;
	— yarnykh_bpi141.jar - сам исполняемый файл.

 5. Порядок запуска

 	Чтобы собрать и запустить программу из исходников необходимо наличие системы сборки
	Apache Maven. 
	Перед запуском нужно перейти в каталок проекта. 
	Для сборки выполните в консоле:
	mvm clean install -Dmaven.test.skip=true или mvm clean install
	

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages