Содержание
- 2. Этап размышления и поиск возможного пути оптимизации расчета (1) Исходные данные 1. Таблицы с данными
- 3. Этап размышления и поиск возможного пути оптимизации расчета (1) Исходные данные 1. Таблицы с данными 2.
- 4. Этап размышления и поиск возможного пути оптимизации расчета (1) Исходные данные 1. Таблицы с данными 2.
- 5. Этап размышления и поиск возможного пути оптимизации расчета (2) Решения на поверхности 1. На основе исходных
- 6. Этап размышления и поиск возможного пути оптимизации расчета (2) Решения на поверхности 1. На основе исходных
- 7. Этап размышления и поиск возможного пути оптимизации расчета (2) Решения на поверхности 1. На основе исходных
- 8. Был найден вариант работы с Fork/Join Возникшие вопросы Подойдет ли концепция Fork/Join для вычислений?
- 9. Был найден вариант работы с Fork/Join Возникшие вопросы Подойдет ли концепция Fork/Join для вычислений? Насколько легко
- 10. Был найден вариант работы с Fork/Join Возникшие вопросы Подойдет ли концепция Fork/Join для вычислений? Насколько легко
- 11. Был найден вариант работы с Fork/Join Возникшие вопросы Подойдет ли концепция Fork/Join для вычислений? Насколько легко
- 12. Информация о Fork/Join (1) Fork/Join Framework появился в Java SE 7. С его помощью можно довольно
- 13. Информация о Fork/Join (1) Fork/Join Framework появился в Java SE 7. С его помощью можно довольно
- 14. Информация о Fork/Join (1) Fork/Join Framework появился в Java SE 7. С его помощью можно довольно
- 15. Информация о Fork/Join (2) Threshold Далее для понимания возможностей Fork/Join будем оперировать понятием «threshold» В переводе
- 16. Примерный вид работы Fork/Join (в рамках RecursiveAction) public class Example extends RecursiveAction { @Override protected void
- 17. Написание примера (1) Запуск (1) import java.util.concurrent.ForkJoinPool; public class Start { public static void main(String[] args)
- 18. import java.util.concurrent.ForkJoinPool; public class Start { public static void main(String[] args) { // расчеты до 7
- 19. import java.util.concurrent.RecursiveAction; public class Example extends RecursiveAction { int cuntPr = Runtime.getRuntime().availableProcessors(); // условный threshold (предел)
- 20. Какой будет результат в примере? А) NO ERROR Time =……………… Б) =split= Time = …………….. NO
- 21. Особенности реализации import java.util.concurrent.ForkJoinPool; public class Start { public static void main(String[] args) { int componentValue
- 22. Выбор предела (1) Threshold можно определить по-разному в зависимости от вашей задачи Например, умножим N (количество
- 23. Выбор предела (2) Threshold можно определить по-разному в зависимости от вашей задачи Например, умножим N (количество
- 24. Результат Вариант №1 (threshold = 3 000 000) значение = 7 000 000 threshold = 3
- 25. Пример «ускорения» при использовании Fork/Join (1) An informal test was conducted on a Sun Fire T2000
- 26. Пример «ускорения» при использовании Fork/Join (2) Пример нахождения максимального элемента в массиве из 500 000 элементов
- 27. Итоги по использованию Fork/Join 1. Уменьшение времени расчета
- 28. Итоги по использованию Fork/Join 1. Уменьшение времени расчета 2. Расчет не зависит от БД
- 29. Итоги по использованию Fork/Join 1. Уменьшение времени расчета 2. Расчет не зависит от БД 3. В
- 30. Итоги по использованию Fork/Join 1. Уменьшение времени расчета 2. Расчет не зависит от БД 3. В
- 31. Итоги по использованию Fork/Join 1. Уменьшение времени расчета 2. Расчет не зависит от БД 3. В
- 32. Итоги по использованию Fork/Join 1. Уменьшение времени расчета 2. Расчет не зависит от БД 3. В
- 33. А были ли проблемы?
- 34. А были ли проблемы? 1. Проблема выбора или нахождения оптимального порогового значения (threshold) Решается перебором возможных
- 35. А были ли проблемы? 1. Проблема выбора или нахождения оптимального порогового значения (threshold) 2. Проблема контроля
- 36. А были ли проблемы? 1. Проблема выбора или нахождения оптимального порогового значения (threshold) 2. Проблема контроля
- 37. А были ли проблемы? 1. Проблема выбора или нахождения оптимального порогового значения (threshold) 2. Проблема контроля
- 38. А были ли проблемы? 1. Проблема выбора или нахождения оптимального порогового значения (threshold) 2. Проблема контроля
- 39. А были ли проблемы? 1. Проблема выбора или нахождения оптимального порогового значения (threshold) 2. Проблема контроля
- 40. Второй этап реализации – это совершенствование (1) Вынести повторяющийся код Повторно использовать полученные данные Получить часть
- 41. Второй этап реализации – это совершенствование (2) Вынести повторяющийся код Повторно использовать полученные данные Получить часть
- 42. Stream API & ForkJoinPool Рассмотрим параллельные «вычисления» в Stream API для Collection Для использования parallelStream() нужно
- 43. Doug Lea (1) Вопрос The java.util.streams framework supports data-driven operations on collections and other sources. Most
- 44. Doug Lea (2) Вопрос читателя Основной смысл вопроса читателя сводится к желанию понять, когда можно безболезненно
- 45. Java 8 Lambdas. Functional Programming for the Masses (1) Ричард Уорбэртон в своей книге говорит о
- 46. Java 8 Lambdas. Functional Programming for the Masses (2) Пример «6.1» public int serialArraySum() { return
- 47. Еще немного про Stream API Темой Stream API активно занимается Тагир Валеев. В сети можно найти
- 48. Спасибо Время вопросов
- 50. Скачать презентацию