Merge pull request #206 from songleo/master

review chapter 18 , and append my info to readme
This commit is contained in:
Unknwon
2016-01-06 16:25:43 +08:00
5 changed files with 9 additions and 5 deletions

View File

@@ -37,6 +37,7 @@
- [@leisore](https://github.com/leisore)
- [@dake](https://github.com/dake)
- [@glight2000](https://github.com/glight2000)
- [@songleo](https://github.com/songleo)
## 授权许可

View File

@@ -19,6 +19,7 @@
- [@leisore](https://github.com/leisore)
- [@dake](https://github.com/dake)
- [@glight2000](https://github.com/glight2000)
- [@songleo](https://github.com/songleo)
## 适用人群

View File

@@ -34,6 +34,8 @@ for ix, ch := range str {
最快速:`utf8.RuneCountInString(str)`
`len([]int(str))`
5如何连接字符串
最快速:

View File

@@ -8,7 +8,7 @@
4尽可能的使用数组和切片代替映射详见参考文献15
5如果只想获取切片中某项值不需要值的索引尽可能的使用`for range`去遍历切片,这比必须查询切片中的每个元素要快一些;
5如果只想获取切片中某项值不需要值的索引尽可能的使用`for range`去遍历切片,这比必须查询切片中的每个元素要快一些;
6当数组元素是稀疏的例如有很多`0`值或者空值`nil`),使用映射会降低内存消耗;

View File

@@ -2,11 +2,11 @@
出于性能考虑的建议:
实践经验表明,如果你使用并行算获得高于串行运算的效率:在协程内部已经完成的大部分工作,其开销比创建协程和协程间通信还高。
实践经验表明,如果你使用并行算获得高于串行运算的效率:在协程内部已经完成的大部分工作,其开销比创建协程和协程间通信还高。
1 出于性能考虑建议使用带缓存的通道:
使用带缓存的通道可以很轻易成倍提高它的吞吐量某些场景其性能可以提高至10倍甚至更多。通过调整通道的容量可以尝试着更进一步的优化其性能。
使用带缓存的通道可以很轻易成倍提高它的吞吐量某些场景其性能可以提高至10倍甚至更多。通过调整通道的容量甚至可以尝试着更进一步的优化其性能。
2 限制一个通道的数据数量并将它们封装成一个数组: