Opis ebooka: Efficient Go
With technological advancements, fast markets, and higher complexity of systems, software engineers tend to skip the uncomfortable topic of software efficiency. However, tactical, observability-driven performance optimizations are vital for every product to save money and ensure business success.
With this book, any engineer can learn how to approach software efficiency effectively, professionally, and without stress. Author Bartłomiej Płotka provides the tools and knowledge required to make your systems faster and less resource-hungry. Efficient Go guides you in achieving better day-to-day efficiency using Go. In addition, most content is language-agnostic, allowing you to bring small but effective habits to your programming or product management cycles.
This book shows you how to:
- Clarify and negotiate efficiency goals
- Optimize efficiency on various levels
- Use common resources like CPU and memory effectively
- Assess efficiency using observability signals like metrics, logging, tracing, and (continuous) profiling via open source projects like Prometheus, Jaeger, and Parca
- Apply tools like
go test
,pprof
,benchstat
, andk6
to create reliable micro and macro benchmarks - Efficiently use Go and its features like slices, generics, goroutines, allocation semantics, garbage collection, and more!
Wybrane bestsellery
-
Ta książka zawiera szereg praktycznych wskazówek dotyczących przygotowania, przeprowadzania i oceniania wyników kontrolowanych eksperymentów online. Dzięki niej nauczysz się stosować naukowe podejście do formułowania założeń i oceny hipotez w testach A/B, dowiesz się także, jak sprawdzać wiarygod...
Kontrolowane eksperymenty online. Praktyczny przewodnik po testach A/B Kontrolowane eksperymenty online. Praktyczny przewodnik po testach A/B
(51.35 zł najniższa cena z 30 dni)47.40 zł
79.00 zł(-40%) -
Pytest – nowoczesny framework do uruchamiania testów automatycznych w języku Python. Można używać tej platformy do przeprowadzania testów jednostkowych, ale sprawdzi się świetnie także podczas konstruowania rozbudowanych testów wyższego poziomu (integracyjnych, end-to-end) dla całych aplika...
Pytest. Kurs video. Automatyzacja testów w Pythonie Pytest. Kurs video. Automatyzacja testów w Pythonie
(67.05 zł najniższa cena z 30 dni)81.95 zł
149.00 zł(-45%) -
Testowanie oprogramowania to jedna z najdynamiczniej rozwijających się dziedzin inżynierii oprogramowania. Zarobki doświadczonych testerów są porównywalne z wynagrodzeniem, jakie otrzymują dobrzy programiści. Aby rozpocząć karierę w tym zawodzie, trzeba się legitymować odpowiednimi umiejętnościam...
Certyfikowany tester ISTQB®. Poziom podstawowy. Wydanie II Certyfikowany tester ISTQB®. Poziom podstawowy. Wydanie II
(65.40 zł najniższa cena z 30 dni)65.40 zł
109.00 zł(-40%) -
Ten praktyczny przewodnik zawiera szeroki przegląd strategii, wzorców i form testowania oprogramowania, ułatwiających dobór ścieżek i podejść do konkretnych projektów w zależności od zakresu, budżetu i ram czasowych. Książka uczy przydatnych umiejętności w zakresie przeprowadzania testów wydajnoś...
Testowanie full stack. Praktyczny przewodnik dostarczania oprogramowania wysokiej jakości Testowanie full stack. Praktyczny przewodnik dostarczania oprogramowania wysokiej jakości
(53.40 zł najniższa cena z 30 dni)53.40 zł
89.00 zł(-40%) -
Naglący termin, niedoczas, permanentne opóźnienie - oto najwierniejsi towarzysze i zarazem najwięksi wrogowie kierownika projektu. Nawet certyfikowani project managerowie, ludzie z ogromną wiedzą i nie mniejszym doświadczeniem, raz po raz znajdują się w sytuacji, w której potrzeba naprawdę wielki...(35.40 zł najniższa cena z 30 dni)
35.40 zł
59.00 zł(-40%) -
Trzymasz w dłoni kolejne wydanie niezwykle popularnego podręcznika do nauki C. Podobnie jak poprzednie wydania, także to zostało zaktualizowane i uzupełnione, między innymi o elementy standardu C11. Książka stanowi przemyślane, przejrzyste i wnikliwe wprowadzenie do języka C. Czytelnie wyjaśnia z...(107.40 zł najniższa cena z 30 dni)
107.40 zł
179.00 zł(-40%) -
Ta książka to sprawdzone źródło informacji na temat Pythona i jego najczęstszych zastosowań. Należy ona do cenionej serii „Receptury”, w której znajdziesz najlepsze sposoby rozwiązywania problemów. Przekonaj się, jak wydajnie operować na strukturach danych, łańcuchach znaków, tekście ...(49.50 zł najniższa cena z 30 dni)
49.50 zł
99.00 zł(-50%) -
„Excel jest naprawdę fantastycznym programem, a jego możliwości są nieskończone…” — myślisz zwykle do chwili, w której okazuje się, że coś, co powinno zająć Ci dwie minuty, zajmuje całe godziny, ponieważ projektanci Excela czegoś nie przewidzieli. Wtedy właśnie do akcji po...(6.45 zł najniższa cena z 30 dni)
6.45 zł
12.90 zł(-50%) -
You'll learn to use Angular to develop and test scalable apps, and explore its features and master concepts, such as dependency injection, reactive programming, and state management, as well as utilize libraries like Nx, RxJS, and NgRx to build professional apps.
Effective Angular. Develop applications of any size by effectively using Angular with Nx, RxJS, NgRx, and Cypress Effective Angular. Develop applications of any size by effectively using Angular with Nx, RxJS, NgRx, and Cypress
(78.48 zł najniższa cena z 30 dni) -
This book explores the potential of ChatGPT-powered chatbots and conversational AI. You'll delve into understanding the technology, its implementation, and practical use cases, while leveraging AI-powered conversations.
ChatGPT for Conversational AI and Chatbots. Learn how to automate conversations with the latest large language model technologies ChatGPT for Conversational AI and Chatbots. Learn how to automate conversations with the latest large language model technologies
(92.88 zł najniższa cena z 30 dni)
Ebooka "Efficient Go" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka "Efficient Go" posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolnych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video "Efficient Go" zobaczysz:
-
w aplikacjach Ebookpoint i Videopoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych z dostępem do najnowszej wersji Twojej przeglądarki internetowej
Szczegóły ebooka
- ISBN Ebooka:
- 978-10-981-0566-2, 9781098105662
- Data wydania ebooka:
-
2022-11-09
Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@ebookpoint.pl.
- Język publikacji:
- angielski
- Rozmiar pliku ePub:
- 7.7MB
- Rozmiar pliku Mobi:
- 22.5MB
Spis treści ebooka
- Preface
- Why I Wrote This Book
- How I Gathered This Knowledge
- Who This Book Is For
- How This Book Is Organized
- Conventions Used in This Book
- Using Code Examples
- Acknowledgments
- Feedback Is Welcome!
- OReilly Online Learning
- How to Contact Us
- 1. Software Efficiency Matters
- Behind Performance
- Common Efficiency Misconceptions
- Optimized Code Is Not Readable
- Code after optimization can be more readable
- Readability now versus past
- Optimized Code Is Not Readable
- You Arent Going to Need It
- Hardware Is Getting Faster and Cheaper
- Software expands to fill the available memory
- Software gets slower more rapidly than hardware becomes faster
- Technological limits
- Faster execution is more energy efficient
- We Can Scale Horizontally Instead
- Time to Market Is More Important
- The Key to Pragmatic Code Performance
- Summary
- 2. Efficient Introduction to Go
- Basics You Should Know About Go
- Imperative, Compiled, and Statically Typed Language
- Designed to Improve Serious Codebases
- Governed by Google, Yet Open Source
- Simplicity, Safety, and Readability Are Paramount
- Packaging and Modules
- Dependencies Transparency by Default
- Consistent Tooling
- Single Way of Handling Errors
- Strong Ecosystem
- Unused Import or Variable Causes Build Error
- Unit Testing and Table Tests
- Basics You Should Know About Go
- Advanced Language Elements
- Code Documentation as a First Citizen
- Backward Compatibility and Portability
- Go Runtime
- Object-Oriented Programming
- Generics
- Is Go Fast?
- Summary
- 3. Conquering Efficiency
- Beyond Waste, Optimization Is a Zero-Sum Game
- Reasonable Optimizations
- Deliberate Optimizations
- Beyond Waste, Optimization Is a Zero-Sum Game
- Optimization Challenges
- Understand Your Goals
- Efficiency Requirements Should Be Formalized
- Resource-Aware Efficiency Requirements
- Acquiring and Assessing Efficiency Goals
- Example of Defining RAER
- Got an Efficiency Problem? Keep Calm!
- Optimization Design Levels
- Efficiency-Aware Development Flow
- Functionality Phase
- 1. Test functionality first
- 2. Do we pass the functional tests?
- 3. If the tests fail, we have to fix, implement, or design the missing parts
- Functionality Phase
- Efficiency Phase
- 4. Efficiency assessment
- 5. Are we within RAERs?
- 6. Find the main bottleneck
- 7. Choice of level
- 8. Optimize!
- 9. Release and enjoy!
- Summary
- 4. How Go Uses the CPU Resource (or Two)
- CPU in a Modern Computer Architecture
- Assembly
- Understanding Go Compiler
- CPU and Memory Wall Problem
- Hierachical Cache System
- Pipelining and Out-of-Order Execution
- Hyper-Threading
- Schedulers
- Operating System Scheduler
- Go Runtime Scheduler
- When to Use Concurrency
- Summary
- 5. How Go Uses Memory Resource
- Memory Relevance
- Do We Have a Memory Problem?
- Physical Memory
- OS Memory Management
- Virtual Memory
- mmap Syscall
- OS Memory Mapping
- Go Memory Management
- Values, Pointers, and Memory Blocks
- Go Allocator
- Garbage Collection
- Summary
- 6. Efficiency Observability
- Observability
- Example: Instrumenting for Latency
- Logging
- Tracing
- Metrics
- Efficiency Metrics Semantics
- Latency
- CPU Usage
- Memory Usage
- runtime heap statistics
- OS memory pages statistics
- Summary
- 7. Data-Driven Efficiency Assessment
- Complexity Analysis
- Estimated Efficiency Complexity
- Asymptotic Complexity with Big O Notation
- Practical Applications
- If you know precise complexity, you dont need to measure to know expected resource requirements
- It tells us if there is any easy optimization to our code
- It helps us assess ideas for a better algorithm as an optimization
- It tells us where the bottleneck is and what part of the algorithm is critical
- Complexity Analysis
- The Art of Benchmarking
- Comparison to Functional Testing
- Benchmarks Lie
- Reliability of Experiments
- Human Errors
- Reproducing Production
- Performance Nondeterminism
- Benchmarking Levels
- Benchmarking in Production
- Macrobenchmarks
- Microbenchmarks
- What Level Should You Use?
- Summary
- 8. Benchmarking
- Microbenchmarks
- Go Benchmarks
- Understanding the Results
- Microbenchmarks
- Tips and Tricks for Microbenchmarking
- Too-High Variance
- Find Your Workflow
- Test Your Benchmark for Correctness!
- Sharing Benchmarks with the Team (and Your Future Self)
- Running Benchmarks for Different Inputs
- Microbenchmarks Versus Memory Management
- Compiler Optimizations Versus Benchmark
- Macrobenchmarks
- Basics
- Go e2e Framework
- Understanding Results and Observations
- Server-side latency
- CPU time
- Memory
- Common Macrobenchmarking Workflows
- Summary
- 9. Data-Driven Bottleneck Analysis
- Root Cause Analysis, but for Efficiency
- Profiling in Go
- pprof Format
- go tool pprof Reports
- Top
- Graph
- Flame Graph
- Peek, Source, and Disassemble
- Capturing the Profiling Signal
- Common Profile Instrumentation
- Heap
- Goroutine
- CPU
- Off-CPU Time
- Tips and Tricks
- Sharing Profiles
- Continuous Profiling
- Comparing and Aggregating Profiles
- Summary
- 10. Optimization Examples
- Sum Examples
- Optimizing Latency
- Optimizing bytes.Split
- Optimizing runtime.slicebytetostring
- Optimizing strconv.Parse
- Optimizing Memory Usage
- Moving to Streaming Algorithm
- Optimizing bufio.Scanner
- Optimizing Latency Using Concurrency
- A Naive Concurrency
- A Worker Approach with Distribution
- A Worker Approach Without Coordination (Sharding)
- A Streamed, Sharded Worker Approach
- Bonus: Thinking Out of the Box
- Summary
- 11. Optimization Patterns
- Common Patterns
- Do Less Work
- Trading Functionality for Efficiency
- Trading Space for Time
- Trading Time for Space
- Common Patterns
- The Three Rs Optimization Method
- Reduce Allocations
- Reuse Memory
- Recycle
- Dont Leak Resources
- Control the Lifecycle of Your Goroutines
- Reliably Close Things
- Exhaust Things
- Pre-Allocate If You Can
- Overusing Memory with Arrays
- Memory Reuse and Pooling
- Summary
- Next Steps
- A. Latencies for Napkin Math Calculations
- Index
O'Reilly Media - inne książki
-
Keeping up with the Python ecosystem can be daunting. Its developer tooling doesn't provide the out-of-the-box experience native to languages like Rust and Go. When it comes to long-term project maintenance or collaborating with others, every Python project faces the same problem: how to build re...(201.03 zł najniższa cena z 30 dni)
200.93 zł
239.00 zł(-16%) -
Bringing a deep-learning project into production at scale is quite challenging. To successfully scale your project, a foundational understanding of full stack deep learning, including the knowledge that lies at the intersection of hardware, software, data, and algorithms, is required.This book il...(241.36 zł najniższa cena z 30 dni)
241.26 zł
289.00 zł(-17%) -
Frontend developers have to consider many things: browser compatibility, usability, performance, scalability, SEO, and other best practices. But the most fundamental aspect of creating websites is one that often falls short: accessibility. Accessibility is the cornerstone of any website, and if a...(200.59 zł najniższa cena z 30 dni)
200.09 zł
239.00 zł(-16%) -
In this insightful and comprehensive guide, Addy Osmani shares more than a decade of experience working on the Chrome team at Google, uncovering secrets to engineering effectiveness, efficiency, and team success. Engineers and engineering leaders looking to scale their effectiveness and drive tra...(114.93 zł najniższa cena z 30 dni)
114.88 zł
149.00 zł(-23%) -
Data modeling is the single most overlooked feature in Power BI Desktop, yet it's what sets Power BI apart from other tools on the market. This practical book serves as your fast-forward button for data modeling with Power BI, Analysis Services tabular, and SQL databases. It serves as a starting ...(199.08 zł najniższa cena z 30 dni)
198.88 zł
239.00 zł(-17%) -
C# is undeniably one of the most versatile programming languages available to engineers today. With this comprehensive guide, you'll learn just how powerful the combination of C# and .NET can be. Author Ian Griffiths guides you through C# 12.0 and .NET 8 fundamentals and techniques for building c...(241.02 zł najniższa cena z 30 dni)
240.92 zł
289.00 zł(-17%) -
Learn how to get started with Futures Thinking. With this practical guide, Phil Balagtas, founder of the Design Futures Initiative and the global Speculative Futures network, shows you how designers and futurists have made futures work at companies such as Atari, IBM, Apple, Disney, Autodesk, Luf...(148.10 zł najniższa cena z 30 dni)
148.00 zł
179.00 zł(-17%) -
Augmented Analytics isn't just another book on data and analytics; it's a holistic resource for reimagining the way your entire organization interacts with information to become insight-driven.Moving beyond traditional, limited ways of making sense of data, Augmented Analytics provides a dynamic,...(174.74 zł najniższa cena z 30 dni)
174.54 zł
219.00 zł(-20%) -
Learn how to prepare for—and pass—the Kubernetes and Cloud Native Associate (KCNA) certification exam. This practical guide serves as both a study guide and point of entry for practitioners looking to explore and adopt cloud native technologies. Adrián González Sánchez ...
Kubernetes and Cloud Native Associate (KCNA) Study Guide Kubernetes and Cloud Native Associate (KCNA) Study Guide
(169.14 zł najniższa cena z 30 dni)177.65 zł
199.00 zł(-11%) -
Python is an excellent way to get started in programming, and this clear, concise guide walks you through Python a step at a time—beginning with basic programming concepts before moving on to functions, data structures, and object-oriented design. This revised third edition reflects the gro...(140.34 zł najniższa cena z 30 dni)
140.14 zł
179.00 zł(-22%)
Dzieki opcji "Druk na żądanie" do sprzedaży wracają tytuły Grupy Helion, które cieszyły sie dużym zainteresowaniem, a których nakład został wyprzedany.
Dla naszych Czytelników wydrukowaliśmy dodatkową pulę egzemplarzy w technice druku cyfrowego.
Co powinieneś wiedzieć o usłudze "Druk na żądanie":
- usługa obejmuje tylko widoczną poniżej listę tytułów, którą na bieżąco aktualizujemy;
- cena książki może być wyższa od początkowej ceny detalicznej, co jest spowodowane kosztami druku cyfrowego (wyższymi niż koszty tradycyjnego druku offsetowego). Obowiązująca cena jest zawsze podawana na stronie WWW książki;
- zawartość książki wraz z dodatkami (płyta CD, DVD) odpowiada jej pierwotnemu wydaniu i jest w pełni komplementarna;
- usługa nie obejmuje książek w kolorze.
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka, którą chcesz zamówić pochodzi z końcówki nakładu. Oznacza to, że mogą się pojawić drobne defekty (otarcia, rysy, zagięcia).
Co powinieneś wiedzieć o usłudze "Końcówka nakładu":
- usługa obejmuje tylko książki oznaczone tagiem "Końcówka nakładu";
- wady o których mowa powyżej nie podlegają reklamacji;
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka drukowana
![Loader](https://static01.helion.com.pl/ebookpoint/img/ajax-loader.gif)
![ajax-loader](https://static01.helion.com.pl/ebookpoint/img/ajax-loader.gif)
Oceny i opinie klientów: Efficient Go Bartlomiej Plotka (0)
Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.