Skip to content

Commit

Permalink
update ch2
Browse files Browse the repository at this point in the history
  • Loading branch information
phamtai97 committed Aug 11, 2019
1 parent c784d37 commit 1133102
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 9 deletions.
4 changes: 2 additions & 2 deletions ch1-basic/ch1-01-genesis.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Vào giữa năm 2008, hầu hết các tính năng được thiết kế trong
Ngôn ngữ Go thường được mô tả là "Ngôn ngữ tựa C" hoặc là "Ngôn ngữ C của thế kỉ 21". Từ nhiều khía cạnh, ngôn ngữ Go thừa hưởng những ý tưởng từ ngôn ngữ C, như là cú pháp, cấu trúc điều khiển, kiểu dữ liệu cơ bản, thủ tục gọi, trả về, con trỏ, v,v.., hoàn toàn kế thừa và phát triển ngôn ngữ C, hình bên dưới mô tả sự liên quan của ngôn ngữ Go với các ngôn ngữ khác.

<div align="center">
<img src="../images/ch1-1-go-family-tree.png" width="600">
<img src="../images/ch1-1-go-family-tree.png" width="500">
<br/>
<span align="center">
<i>Cây phả hệ của ngôn ngữ Go</i>
Expand Down Expand Up @@ -51,7 +51,7 @@ Hình dưới chỉ ra lịch sử phát triển của ngôn ngữ Go qua codeba
Có thể nhìn thấy từ những submission log rằng ngôn ngữ Go được dần phát triển từ ngôn ngữ B - được phát minh bởi **Ken Thompson** và ngôn ngữ C được phát triển bởi **Dennis M.Ritchie**. Đó là thế hệ ngôn ngữ C đầu tiên, do đó nhiều người gọi Go là ngôn ngữ lập trình C của thế kỉ 21.

<div align="center">
<img src="../images/ch1-3-go-history.png" width="600">
<img src="../images/ch1-3-go-history.png" width="500">
<br/>
<span align="center">
<i>Lịch sử phát triển của lập trình concurrency trong Go</i>
Expand Down
2 changes: 1 addition & 1 deletion ch1-basic/ch1-03-array-string-and-slice.md
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,7 @@ fmt.Println("len(s): ", (*reflect.StringHeader)(unsafe.Pointer(&s)).Len)
## 1.3.3. Slice

<div align="center">
<img src="../images/1-3-golang-slices-length-capacity.jpg"width="600">
<img src="../images/1-3-golang-slices-length-capacity.jpg"width="500">
<br/>
<span align="center">
<i>Slice</i>
Expand Down
14 changes: 8 additions & 6 deletions ch2-cgo/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,11 @@ Go hỗ trợ các lời gọi hàm từ C thông qua một công cụ gọi là

Tuy nhiên ta cũng không nên lạm dụng CGO vì vấn đề hiệu suất, ví dụ nếu so sánh với Rust: `rustgo` chỉ chậm hơn gọi hàm Go trực tiếp khoảng 11%, nhưng nó lại nhanh hơn gấp 15 lần `CGO`, một vài con số cụ thể từ [link sau](https://blog.filippo.io/rustgo/):

name| time/op
--- | ---
CallOverhead/Inline | 1.67ns ± 2%
CallOverhead/Go | 4.49ns ± 3%
CallOverhead/rustgo | 4.58ns ± 3%
CallOverhead/cgo | 69.4ns ± 0%
<div align="center">
<img src="../images/ch2-table-per.png" width="350>
<br/>
<span align="center">
<i></i>
</span>
</div>
<br/>
Binary file added images/ch2-table-per.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 1133102

Please sign in to comment.