توضیحاتی در مورد کتاب Efficient Go
نام کتاب : Efficient Go
ویرایش : 4th early release
عنوان ترجمه شده به فارسی : کارآمد برو
سری :
نویسندگان : Bartlomiej Plotka
ناشر : O'Reilly Media, Inc.
سال نشر : 2022
تعداد صفحات : 284
ISBN (شابک) : 9781098105716 , 9781098105648
زبان کتاب : English
فرمت کتاب : pdf
حجم کتاب : 3 مگابایت
بعد از تکمیل فرایند پرداخت لینک دانلود کتاب ارائه خواهد شد. درصورت ثبت نام و ورود به حساب کاربری خود قادر خواهید بود لیست کتاب های خریداری شده را مشاهده فرمایید.
فهرست مطالب :
1. Software Efficiency Matters
Motivation For This Book
Behind Performance
Common Performance Misconceptions
Optimized Code is Not Readable
You Aren’t Going to Need It (YAGNI)
Hardware is Getting Faster and Cheaper
We Can Scale Horizontally Instead
Time to Market is More Important
Be Vigilant to Simplifications
Efficiency: 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
Advanced Language Elements
Code Documentation as a First Citizen
Backwards Compatibility and Portability
Go Runtime
Object Oriented Programming in Go
Is Go “Fast”?
Summary
3. Conquering Efficiency
Beyond Waste, Optimization is a Zero-Sum Game
Reasonable Optimizations
Deliberate Optimizations
Optimization Challenges
Understand Your Goals
Efficiency Requirements Should be Formalized
Resource Aware Efficiency Requirements
Acquiring and Assessing Efficiency Goals
Got a Performance Problem? Keep Calm!
Optimization Design Levels
Efficiency-Aware Development Flow
Functionality Phase
Efficiency Phase
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
Practical Example of Concurrency in Go
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
The Three R’s Optimization Method
Summary
About the Author