Go Optimizations 101
Đây là một cuốn sách nói về cách tối ưu Go. Quá trình build trong Golang, compiler có thể có một số optimize nhất định, sẽ giúp code chạy nhanh hơn, hạn chế allocation hơn. Hoặc trong quá trình runtime, nếu không để ý thì có những cái rất nhỏ thôi, nhưng cũng ảnh hưởng đến tốc độ xử lý của CPU, tăng áp lực lên GC để đi dọn bộ nhớ trong chương trình. Cuốn sách này sẽ đề cập những điều đó.
Sách có các điểm tốt như sau:
- Chỉ rõ các cách để viết chương trình Go tối ưu hơn.
- Có các bài test benchmark để chứng minh.
- Cập nhật các tối ưu của version Go mới nhất.
- Chỉ ra các trường hợp đặc biệt của Go.
Tuy nhiên, tôi chỉ đánh giá cuốn sách này ở mức trung bình vì các lý do sau đây:
- Nội dung trùng lắp: Xuyên suốt cuốn sách sẽ nêu vấn đề của Go, nhưng nội dung khá trùng lắp ở các chương với nhau. Nếu phải tóm tắt, tôi có thể tóm tắt lại 1 dòng thôi: "Làm sao cho heap đỡ rác và cố gắng cấp phát bộ nhớ hợp lý, tránh việc cấp phát liên tục và dư thừa". Tất nhiên, để biết cách "làm sao" thì nên đọc sách 📖.
- Trình bày khó hiểu: Thú thật, lúc tôi mới đọc sách, tôi cũng xoắn não với một vài ví dụ, thuật ngữ mà sách sử dụng như value part,...
Cuốn sách này khá tốt nếu như bạn đã có kinh nghiệm với Go muốn viết code tối ưu hiệu năng, không muốn application mình chạy ì ạch, hay tốn nhiều bộ nhớ không đáng. Tôi cũng rất recommend bạn đọc cuốn này và tự rút ra một số cheatsheets cá nhân để có thể áp dụng ngay khi code.
Thuật ngữ trong sách sẽ hơi khó hiểu khi bạn mới tìm hiểu giai đoạn đầu. Tôi có viết 2 bài được tham khảo từ cuốn sách, tôi nghĩ bạn chỉ cần hiểu được 2 bài này, thì việc bạn đọc cuốn sách này sẽ trở nên dễ dàng hơn.


Bạn có thể tham khảo sách tại đây.


Bình luận