You Don't Know JS: Async & Performance


Book Description

No matter how much experience you have with JavaScript, odds are you don’t fully understand the language. As part of the "You Don’t Know JS" series, this concise yet in-depth guide focuses on new asynchronous features and performance techniques—including Promises, generators, and Web Workers—that let you create sophisticated single-page web applications and escape callback hell in the process. Like other books in this series, You Don’t Know JS: Async & Performance dives into trickier parts of the language that many JavaScript programmers simply avoid. Armed with this knowledge, you can become a true JavaScript master. With this book you will: Explore old and new JavaScript methods for handling asynchronous programming Understand how callbacks let third parties control your program’s execution Address the "inversion of control" issue with JavaScript Promises Use generators to express async flow in a sequential, synchronous-looking fashion Tackle program-level performance with Web Workers, SIMD, and asm.js Learn valuable resources and techniques for benchmarking and tuning your expressions and statements




Async & Performance


Book Description

This book focuses on the new asynchronous features in JavaScript, which are new and confusing to developers. The book covers promises, generators, and coroutines, all of which allow developers to created more sophisticated single-page web applications that provide the features of a desktop application without tying up the user's browser.




Java Performance


Book Description

Coding and testing are generally considered separate areas of expertise. In this practical book, Java expert Scott Oaks takes the approach that anyone who works with Java should be adept at understanding how code behaves in the Java Virtual Machine—including the tunings likely to help performance. This updated second edition helps you gain in-depth knowledge of Java application performance using both the JVM and the Java platform. Developers and performance engineers alike will learn a variety of features, tools, and processes for improving the way the Java 8 and 11 LTS releases perform. While the emphasis is on production-supported releases and features, this book also features previews of exciting new technologies such as ahead-of-time compilation and experimental garbage collections. Understand how various Java platforms and compilers affect performance Learn how Java garbage collection works Apply four principles to obtain best results from performance testing Use the JDK and other tools to learn how a Java application is performing Minimize the garbage collector’s impact through tuning and programming practices Tackle performance issues in Java APIs Improve Java-driven database application performance




Async in C# 5.0


Book Description

If you're writing one of several applications that call for asynchronous programming, this concise hands-on guide shows you how the async feature in C# 5.0 can make the process much simpler. Along with a clear introduction to asynchronous programming, you get an in-depth look at how the async feature works and why you might want to use it in your application. Written for experienced C# programmers--yet approachable for beginners--this book is packed with code examples that you can extend for your own projects. Write your own asynchronous code, and learn how async saves you from this messy chore Discover new performance possibilities in ASP.NET web server code Explore how async and WinRT work together in Windows 8 applications Learn the importance of the await keyword in async methods Understand which .NET thread is running your code--and at what points in the program Use the Task-based Asynchronous Pattern (TAP) to write asynchronous APIs in .NET Take advantage of parallel computing in modern machines Measure async code performance by comparing it with alternatives




Test-Driven Development with Python


Book Description

By taking you through the development of a real web application from beginning to end, the second edition of this hands-on guide demonstrates the practical advantages of test-driven development (TDD) with Python. You’ll learn how to write and run tests before building each part of your app, and then develop the minimum amount of code required to pass those tests. The result? Clean code that works. In the process, you’ll learn the basics of Django, Selenium, Git, jQuery, and Mock, along with current web development techniques. If you’re ready to take your Python skills to the next level, this book—updated for Python 3.6—clearly demonstrates how TDD encourages simple designs and inspires confidence. Dive into the TDD workflow, including the unit test/code cycle and refactoring Use unit tests for classes and functions, and functional tests for user interactions within the browser Learn when and how to use mock objects, and the pros and cons of isolated vs. integrated tests Test and automate your deployments with a staging server Apply tests to the third-party plugins you integrate into your site Run tests automatically by using a Continuous Integration environment Use TDD to build a REST API with a front-end Ajax interface




JVM Performance Engineering


Book Description

Peek Under the Hood of the Complex but Fascinating Java Virtual Machine Dive into the intricacies of JVM performance with JVM Performance Engineering, the essential guide for seasoned Java developers eager to demystify the JVM. Focusing on the OpenJDK HotSpot VM, this book provides insights into cutting-edge Java performance techniques and trends. Distinguished Java Champion Monica Beckwith blends theoretical insights and practical tools--encompassing case studies, applications, use-case diagrams, and process flow charts--to demonstrate diagnostic techniques, performance methodologies, and optimizations. This manual is a portal to excelling in Java performance engineering, offering Java developers, system architects, and software engineers the tools to foster career advancement and success with Java applications. Examine the evolving Java type system, from lambda expressions to the advent of records and sealed classes, and explore how Project Valhalla aims to further optimize performance Leverage the Unified JVM Logging Interface for enhanced diagnostics, monitoring, and performance testing, featuring the novel asynchronous logging mechanism Grasp the intricate relationship between JVM and hardware, mastering end-to-end Java performance optimization techniques Gain deep insights into JVM's garbage collection and memory management, examining the pivotal Garbage First and Z GCs--and how they are shaping the Java performance landscape Explore efficient deployment strategies and techniques to accelerate JVM readiness, leveraging class data sharing, ahead-of-time compilation, and innovations like GraalVM and upcoming Project Leyden Embark on an exploration of the synergy between the JVM and exotic hardware like GPUs and FPGAs and revel in the potential of Project Panama and TornadoVM in high-computational scenarios such as machine learning and data analytics Look ahead to the future of Java concurrency with Virtual Threads, and investigate runtime optimizations of string handling and concurrency, propelling Java forward Register your product for convenient access to downloads, updates, and/or corrections as they become available. See inside for details.




Modern Asynchronous JavaScript


Book Description

JavaScript today must interact with data-intensive APIs and networks. The solution is a program that can work asynchronously instead of finishing tasks in order. In modern JavaScript, instead of callbacks you'll use promises to improve your application's performance and responsiveness. JavaScript features introduced in ES2020, ES2021, and ESNext like Promise.allSettled(), Promise.any(), and top-level await help you develop small, fast, low-profile applications. With the AbortController API, cancel a pending async request before it has completed. Modern Asynchronous JavaScript gives you an arsenal of tools to build programs that always respond to user requests, recover quickly from difficult conditions, and deliver maximum performance. Applications today must work with information on remote servers, and users expect a quick response to complex interactions at all times, whether on a high-speed 5G cellular network or slow public WiFi. JavaScript provides developers with advanced tools to coordinate the asynchronous parts of their code efficiently and deliver responsive programs. Faster applications equal happier users, which is the promise of asynchronous JavaScript. With Modern Asynchronous JavaScript you'll learn techniques for managing your async code. Features like ES2021 Promise.any() allow you to safeguard your async code from external issues that are out of your control like server downtime. You'll discover secret weapons like top-level await to initialize resources, define dependency paths dynamically, and load dependencies with a fallback implementation. You'll even learn to how to set a time limit for async requests and react if they take too long to complete. Fast, reliable applications are a must in today's world, where users demand increasingly greater amounts of data on mobile devices. Asynchronous programming may require more cautious planning than synchronous programming but the outcome is rewarding. Asynchronous JavaScript allows you to write code that is nimble but reliable, leading to programs that load faster, respond quicker, and most importantly that you can trust to function properly. What You Need: You'll need an intermediate level of JavaScript programming skills and a browser that supports features from ES2020, ES2021, and ESNext.




Delphi High Performance


Book Description

Build fast, scalable, and high performing applications with Delphi Key Features Build efficient and concurrent applications in Delphi with focused examples Identify performance bottlenecks and apply the correct algorithm to increase the performance of applications. Delve into parallel programming and memory management to optimize your code Book DescriptionDelphi is a cross-platform Integrated Development Environment (IDE) that supports rapid application development for Microsoft Windows, Apple Mac OS X, Google Android, iOS, and now Linux with RAD Studio 10.2. This book will be your guide to build efficient high performance applications with Delphi. The book begins by explaining how to find performance bottlenecks and apply the correct algorithm to fix them. It will teach you how to improve your algorithms before taking you through parallel programming. You’ll then explore various tools to build highly concurrent applications. After that, you’ll delve into improving the performance of your code and master cross-platform RTL improvements. Finally, we’ll go through memory management with Delphi and you’ll see how to leverage several external libraries to write better performing programs. By the end of the book, you’ll have the knowledge to create high performance applications with Delphi.What you will learn Find performance bottlenecks and easily mitigate them Discover different approaches to fix algorithms Understand parallel programming and work with various tools included with Delphi Master the RTL for code optimization Explore memory managers and their implementation Leverage external libraries to write better performing programs Who this book is for This book is for Delphi developers who would like to build high performance applications with Delphi. Prior knowledge of Delphi is assumed.




Async in C# 5.0


Book Description

If you’re writing one of several applications that call for asynchronous programming, this concise hands-on guide shows you how the async feature in C# 5.0 can make the process much simpler. Along with a clear introduction to asynchronous programming, you get an in-depth look at how the async feature works and why you might want to use it in your application. Written for experienced C# programmers—yet approachable for beginners—this book is packed with code examples that you can extend for your own projects. Write your own asynchronous code, and learn how async saves you from this messy chore Discover new performance possibilities in ASP.NET web server code Explore how async and WinRT work together in Windows 8 applications Learn the importance of the await keyword in async methods Understand which .NET thread is running your code—and at what points in the program Use the Task-based Asynchronous Pattern (TAP) to write asynchronous APIs in .NET Take advantage of parallel computing in modern machines Measure async code performance by comparing it with alternatives




High-Performance Programming in C# and .NET


Book Description

Enhance your applications' performance using best practices for benchmarking, application profiling, asynchronous programming, designing responsive UIs, gRPC communication, and distributed applications Key Features • Make the best use of performance enhancements in C# 10.0 and .NET 6 • Boost application performance by identifying hardware bottlenecks and common performance pitfalls • Get to grips with best practices and techniques for improving the scalability of distributed systems Book Description Writing high-performance code while building an application is crucial, and over the years, Microsoft has focused on delivering various performance-related improvements within the .NET ecosystem. This book will help you understand the aspects involved in designing responsive, resilient, and high-performance applications with the new version of C# and .NET. You will start by understanding the foundation of high-performance code and the latest performance-related improvements in C# 10.0 and .NET 6. Next, you'll learn how to use tracing and diagnostics to track down performance issues and the cause of memory leaks. The chapters that follow then show you how to enhance the performance of your networked applications and various ways to improve directory tasks, file tasks, and more. Later, you'll go on to improve data querying performance and write responsive user interfaces. You'll also discover how you can use cloud providers such as Microsoft Azure to build scalable distributed solutions. Finally, you'll explore various ways to process code synchronously, asynchronously, and in parallel to reduce the time it takes to process a series of tasks. By the end of this C# programming book, you'll have the confidence you need to build highly resilient, high-performance applications that meet your customer's demands. What you will learn • Use correct types and collections to enhance application performance • Profile, benchmark, and identify performance issues with the codebase • Explore how to best perform queries on LINQ to improve an application's performance • Effectively utilize a number of CPUs and cores through asynchronous programming • Build responsive user interfaces with WinForms, WPF, MAUI, and WinUI • Benchmark ADO.NET, Entity Framework Core, and Dapper for data access • Implement CQRS and event sourcing and build and deploy microservices Who this book is for This book is for software engineers, professional software developers, performance engineers, and application profilers looking to improve the speed of their code or take their skills to the next level to gain a competitive advantage. You should be a proficient C# programmer who can already put the language to good use and is also comfortable using Microsoft Visual Studio 2022.