Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Домашняя работа №7 #10

Merged
merged 5 commits into from
Dec 1, 2023
Merged

Домашняя работа №7 #10

merged 5 commits into from
Dec 1, 2023

Conversation

arhostcode
Copy link
Owner

@arhostcode arhostcode commented Nov 23, 2023

Сделана домашняя работа №7

  1. Реализован многопоточный счётчик, работающий на AtomicInteger
  2. При помощи parallel() в Stream вычисляется факториал числа
  3. Реализованы 2 вида PersonDatabase. 1 - использует synchronized, 2 - использует ReadWriteLock
  4. Реализовано однопоточное и многопоточное вычисление числа PI по методу Монте-Карло, проведены сравнения производительности

4 Задание. Результаты измерения скорости:

  • 10 млн итераций - однопоточное 102 мс, многопоточное 161 мс -> однопоточное быстрее в ~1.5 раза, погрешность = 0.001
  • 100 млн итераций - однопоточное 675 мс, многопоточное 325 мс -> многопоточное быстрее в ~2 раза, погрешность = 0.0005
  • 1 млрд итераций - однопоточное 5.993 с, многопоточное 1.314 с -> многопоточное быстрее в ~4 раза, погрешность = 0.00005

@arhostcode arhostcode added the homework Homework tasks label Nov 23, 2023
Copy link

github-actions bot commented Nov 23, 2023

Code Coverage

Overall Project 91.61% -1.11% 🍏
Files changed 82.27% 🍏

File Coverage
Person.java 100% 🍏
ParallelFactorial.java 100% 🍏
MultiCounter.java 100% 🍏
MonteCarloPiComputer.java 92.19% -7.81% 🍏
LockCachingPersonDatabase.java 80.77% -19.23% 🍏
SynchronizedCachingPersonDatabase.java 74.07% -25.93% 🍏
AbstractPersonDatabase.java 70.34% -29.66% 🍏

@arhostcode arhostcode merged commit 82d3a23 into main Dec 1, 2023
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
homework Homework tasks
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants