后端
文章平均质量分 74
Cosima想吃肉肉
这个作者很懒,什么都没留下…
展开
-
Golang-位运算(一)大学小用:计算一个二进制数字有多少1?
熟悉的有三种解法:1.程序内置的方法:一般我们的语言这种基本的函数都是有的,比如:golang: bits.OnesCountC/C++: __builtin_popcountJava: Integer.bitCount复杂度分析时间复杂度:O(1) 不同语言的实现方法不一,我们可以近似认为其时间复杂度为 O(1)O(1)。空间复杂度:O(1)2. 最基本的轮询方法// s 为我们的目标数字for s > 0 { /原创 2021-05-28 11:09:35 · 616 阅读 · 1 评论 -
大厂必备技能:golang 性能调优 看我就够啦 - 基准测试
基准测试主要是通过测试CPU和内存的效率问题,来评估被测试代码的性能,并将该数据作为基准来比较每次调优后的性能是否有所改善,进而找到更好的解决方案。(一)编写基准测试首先我们先看一个基准测试的例子。是不是很像我们经常说的单元测试func BenchmarkSprintf(b *testing.B){ num:=10 b.ResetTimer() for i:=0;i<b.N;i++{ fmt.Sprintf("%d",num) }}以下是go语言中基准测试需要关注的几个前提条件原创 2021-05-19 16:37:39 · 401 阅读 · 0 评论 -
golang的fmt包引发的变量逃逸到堆的问题
探讨了golang的fmt包会在编译时使变量从栈逃逸到堆的部分原因原创 2021-04-26 21:16:37 · 2652 阅读 · 7 评论 -
golang空结构创建后在同一个地址?
原文:https://hansedong.github.io/2019/04/03/16/#前几天在论坛上看到一个这样的问题:问题:分析一下,下面代码的输出是什么(判断a==c)的部分?package mainimport ( "fmt" "runtime")type obj struct{}func main() { a := &obj{} fmt.Printf("%p\n", a) c := &obj{} fmt.P.原创 2021-04-26 16:29:07 · 511 阅读 · 0 评论