Companies Home Search Profile

Leveraging Parallel Streams for Fast Data Processing in Java 8

Focused View

Jose Paumard

2:12:15

8 View
  • 01. Course Overview.mp4
    01:41
  • 02. Introducing the Course and Parallel Streams.mp4
    01:59
  • 03. What Are You Going to Learn What Do You Need to Know.mp4
    02:48
  • 04. Course Agenda.mp4
    01:29
  • 05. Measuring Parallel Streams Performance Reliably.mp4
    03:06
  • 06. Making a Regular Stream a Parallel Stream.mp4
    02:08
  • 07. Measuring Performances Using JMH.mp4
    02:33
  • 08. Using the Computation of Prime Numbers to Set up JMH.mp4
    01:07
  • 09. Setting up the Prime Numbers Computation in a Parallel Stream.mp4
    01:35
  • 10. Setting up a Class to Be Benched by JMH.mp4
    04:26
  • 11. Live Demo-Writing a JMH Class That Computes Prime Numbers.mp4
    02:45
  • 12. Live Demo-Running a Benchmark with JMH in the IDE.mp4
    01:58
  • 13. Live Demo-Using Maven to Run a JMH Benchmark.mp4
    03:35
  • 14. Analyzing the Results of Sequential and Parallel Computation .mp4
    02:21
  • 15. Module Wrap Up.mp4
    01:49
  • 16. Introducing the Module and Its Agenda.mp4
    01:18
  • 17. Boxing and Unboxing Values in Wrapping Types.mp4
    04:24
  • 18. Live Demo-Measuring the Cost of Boxing Values in a Loop.mp4
    02:05
  • 19. Introducing Pointer Chasing and the Caches of a CPU.mp4
    02:03
  • 20. Chasing Pointers to Transfer Object from the Memory to the CPU.mp4
    02:45
  • 21. Comparing the Iterating over an ArrayList and a LinkedList.mp4
    01:26
  • 22. Live Demo-Measuring the Cost of Pointer Chasing for Lists.mp4
    02:54
  • 23. Analyzing the Cost of Cache Unfriendly In-memory Structures.mp4
    02:40
  • 24. Module Wrap Up.mp4
    01:41
  • 25. Introducing the Module and Its Agenda.mp4
    01:01
  • 26. Forking and Joining Computations to Implement Parallelism.mp4
    01:50
  • 27. Splitting a Heavy Computation Task until It Becomes Small Enough.mp4
    01:22
  • 28. Using the Common Fork Join Pool of Threads to Compute Tasks.mp4
    03:06
  • 29. Using Work Stealing to Keep the Fork Join Pool Busy.mp4
    02:40
  • 30. Joining Partial Results to Produce a Final Result.mp4
    01:44
  • 31. Wrapping up the Fork Join Framework-What Is Its Overhead.mp4
    01:15
  • 32. Live Demo-Measuring the Overhead of the Fork Join Framework.mp4
    02:26
  • 33. Indentifying Performance Issues with the Fork Join Frameworks.mp4
    00:42
  • 34. Finding Hidden Inter-thread Communication Operations in Streams.mp4
    02:20
  • 35. Counting Stream Elements with Parallel limit().mp4
    01:14
  • 36. Live Demo-Measuring the Overhead of limit() and findFirst().mp4
    03:54
  • 37. Analyzing the Overhead of Parallel limit() and findFirst().mp4
    02:41
  • 38. Avoiding the Use of the reduce() Method to Reduce a Stream.mp4
    02:14
  • 39. Reducing a Stream with a Non-associative Binary Operator.mp4
    02:38
  • 40. Computing the Sum of the Squares with a Non-associative Operator.mp4
    01:19
  • 41. Getting Different Faulty Results Sequentially and In Parallel.mp4
    01:30
  • 42. Getting Random Faulty Results In Parallel.mp4
    01:46
  • 43. Staying Away from Faulty Non-associative Reduction Operators .mp4
    01:37
  • 44. Live Demo-Displaying the Threads Executing Your Parallel Stream.mp4
    02:19
  • 45. Live Demo-Executing a Parallel Stream in a Custom Fork Join Pool.mp4
    02:50
  • 46. Live Demo-Counting the Number of Task Each Thread Executed.mp4
    01:44
  • 47. Module Wrap up.mp4
    04:14
  • 48. Introducing the Module and Its Agenda.mp4
    01:04
  • 49. Forking Is About Splitting Any Source of Data.mp4
    01:24
  • 50. Finding and Reaching the Center Position of a Source to Split It.mp4
    02:31
  • 51. Storing Elements in a Set Implemented with a Backing Array.mp4
    02:43
  • 52. Splitting a Set Backed by an Array SIZED and SUBSIZED Properties.mp4
    02:47
  • 53. Live Demo-Showing the Problem of Sets for Parallel Streams.mp4
    05:28
  • 54. Live Demo-Comparing Performances of Lists and Sets.mp4
    02:57
  • 55. Analyzing the List and Set Benchmark.mp4
    01:27
  • 56. Wrapping up the List and Set Benchmark-Prefer Lists over Sets.mp4
    00:58
  • 57. Module Wrap Up.mp4
    02:11
  • 58. Course Wrap up One Last Advice Links and Thanks .mp4
    03:43
  • Description


    Parallelism is an amazing feature brought by the Stream API in Java 8. In this course, you will learn how parallel streams are working under the hood, how to use them to improve the performances of your applications, and when to avoid them.

    What You'll Learn?


      Along with the implementation of the map / filter reduce algorithm, the Stream API brings an amazing feature: the possibility to conduct the processing of your data in parallel. Going parallel is as simple as calling a parallel() method, something many developers are tempted to do. In this course, Leveraging Parallel Streams for Fast Data Processing in Java 8, you will learn what is happening under the hood, and how parallelism has been implemented in the Stream API. First, you will see that going parallel may improve the performances of your computations greatly, but may also ruin your application. Next, you will discover how to understand when things are working, which will give you the keys you need to decide when to go parallel and when to stay away from it. Finally, you will analyze the situations where things are not behaving as expected. By the end of this course, you will gain better understanding of parallelism as it is: a complex topic that you can grasp with simple ideas, so that you can use what you will learn immediately.

    More details


    User Reviews
    Rating
    0
    0
    0
    0
    0
    average 0
    Total votes0
    Focused display
    Category
    Jose Paumard
    Jose Paumard
    Instructor's Courses
    Passionate about programming computers for over 20 years, Jose made his debut in assembler and C, C for SIMD parallel machines before adopting Java as an object-oriented language, indispensable to most major modern applications. He brings his expertise and capacity for analysis and synthesis to many projects, mainly in the lower layers, close to the data, but also on complex UI design, or in the browser. PhD in applied maths and computer science, assistant professor in Paris North University for 15 years, Jose also has a passion for education and knowledge transfer. He writes a blog, Java le soir, French documentary source on Java technologies for thousands of french speaking developers around the world. He is a member of the french Paris Java User Group, and co-organizer of the conference Devoxx France.
    Pluralsight, LLC is an American privately held online education company that offers a variety of video training courses for software developers, IT administrators, and creative professionals through its website. Founded in 2004 by Aaron Skonnard, Keith Brown, Fritz Onion, and Bill Williams, the company has its headquarters in Farmington, Utah. As of July 2018, it uses more than 1,400 subject-matter experts as authors, and offers more than 7,000 courses in its catalog. Since first moving its courses online in 2007, the company has expanded, developing a full enterprise platform, and adding skills assessment modules.
    • language english
    • Training sessions 58
    • duration 2:12:15
    • level average
    • Release Date 2023/12/09