Scala High Performance Programming


Key Features Get the first book to explore Scala performance techniques in depth! Real-world inspired use cases illustrate and support the techniques studied and the language features This book is written by Vincent Theron and Michael Diamant, software engineers with several years of experience in the high-frequency trading and programmatic advertising industries Book Description Scala is a statically and strongly typed language that blends functional and object-oriented paradigms. It has experienced growing popularity as an appealing and pragmatic choice to write production-ready software in the functional paradigm. Scala and the functional programming paradigm enable you to solve problems with less code and lower maintenance costs than the alternatives. However, these gains can come at the cost of performance if you are not careful. Scala High Performance Programming arms you with the knowledge you need to create performant Scala applications. Starting with the basics of understanding how to define performance, we explore Scala's language features and functional programming techniques while keeping a close eye on performance throughout all the topics. We introduce you as the newest software engineer at a fictitious financial trading company, named MV Trading. As you learn new techniques and approaches to reduce latency and improve throughput, you'll apply them to MV Trading's business problems. By the end of the book, you will be well prepared to write production-ready, performant Scala software using the functional paradigm to solve real-world problems. What you will learn Analyze the performance of JVM applications by developing JMH benchmarks and profiling with Flight Recorder Discover use cases and performance tradeoffs of Scala language features, and eager and lazy collections Explore event sourcing to improve performance while working with stream processing pipelines Dive into asynchronous programming to extract performance on multicore systems using Scala Future and Scalaz Task Design distributed systems with conflict-free replicated data types (CRDTs) to take advantage of eventual consistency without synchronization Understand the impact of queues on system performance and apply the Free monad to build systems robust to high levels of throughput About the Author Vincent Theron is a professional software engineer with 9 years of experience. He discovered Scala 6 years ago and uses it to build highly scalable and reliable applications. He designs software to solve business problems in various industries, including online gambling, financial trading, and, most recently, advertising. He earned a master's degree in computer science and engineering from Universite Paris-Est Marne-la-Vallee. Vincent lives in the Boston area with his wife, his son, and two furry cats. Michael Diamant is a professional software engineer and functional programming enthusiast. He began his career in 2009 focused on Java and the object-oriented programming paradigm. After learning about Scala in 2011, he has focused on using Scala and the functional programming paradigm to build software systems in the financial trading and advertising domains. Michael is a graduate of Worcester Polytechnic Institute and lives in the Boston area. Table of Contents The Road to Performance Measuring Performance on the JVM Unleashing Scala Performance Exploring the Collection API Lazy Collections and Event Sourcing Concurrency in Scala Architecting for Performance

Author(s): Vincent Theron  

ISBN 10: 178646604X
ISBN 13: 9781786466044
Pages: 274
Find this book on Amazon

 

This books is in the following lists (2)



Related YouTube Videos (add a video)

Add the YouTube URL below and submit:

To add a YouTube video, please copy the video's URL on YouTube and submit by clicking "Add".
The URL should look something like this: https://www.youtube.com/watch?v=CXQdBuuanI8
How to copy the videos URL from YouTube

No video yet, want to add one?

Related Articles (add an article)

Add an article URL below and submit:

To add an article, please paste the article's URL and submit by clicking "Add".
Below is an example of a valid URL:
How to copy and paste a webpage URL

No article found, do you know any related to this book?

Report an error with this book