Master the art of writing high-performance enterprise applications in Go with proven methodologies and concurrency techniques Key Features * Explore Go's in-built tools to enhance your understanding of application performance * Addresses Go-specific performance issues such as memory allocation and garbage collection * Delve into the intricacies of concurrency and discover how to implement it in everyday applications successfully Book Description Go is an easy-to-write language with impressive features that support concurrency and portability. Go is popular among developers thanks to its ability to reduce complexity while developing applications for individuals as well as across distributed teams. This book will teach you how to construct idiomatic Go code that is reusable and performant. Starting with an introduction to performance concepts, you'll understand the ideology behind Go's performance. You'll learn how to implement data structures and algorithms effectively and organize and manipulate data to write scalable software. The book covers Channels and Goroutines for parallelism and concurrency to write high-performance code for distributed systems. As you make progress, you'll learn how to manage memory effectively. You'll explore the CUDA driver API, use containers to build Go code, and work with the Go build cache for quicker compilation. You'll also get well-versed with profiling and tracing Go code to detect bottlenecks in your systems. Finally, you'll evaluate clusters and job queues for performance optimization and monitor the application for performance regression. By the end of this Go programming book, you'll be able to improve existing code and meet customer requirements by building concurrent applications What you will learn * Organize and manipulate data effectively with clusters and job queues * Understand the lock-free technique to achieve high performance * Explore commonly applied Golang data structures and algorithms * Write anonymous and lambda functions in Golang to build reusable apps * Practice profiling and tracing Golang applications to reduce bottlenecks and improve efficiency * Deploy, monitor, and iterate Golang programs with performance in mind * Grasp memory management and CPU and GPU parallelization in Golang Who This Book Is For This book is for developers and professionals with an intermediate to advanced understanding of Go programming interested in improving the speed of code and taking their skills to the next level.
Book InformationISBN 9781789805789
Author Bob StrecanskyFormat Paperback
Page Count 354
Imprint Packt Publishing LimitedPublisher Packt Publishing Limited
Weight(grams) 191g