本人处女座,写代码极其恶心,不是恶心别人,而是恶心自己。不知道啥时候脑子就抽了,有些没有意义的问题非要弄个明白,好多次都睡下了,凌晨两三点突然想到某个问题,然后起床开电脑,测试。属实给我恶心坏了。he tui ~
就在刚在,用golang写brainfuck加解密的时候,脑子抽了一下。
就因为在取绝对值时产生了一个恶心的想法:
问下面两种写法哪种更好,运算效率更快:
1、b=math.Abs(float64(diff))
2、b=0-diff
不严谨的答案:都一样
严禁的答案:没有(自己测)
测试脚本
func t() {
start := time.Now() // 获取当前时间
for i := -1.0; i > -1000000000; i-- {
_ = 0 - i
}
elapsed := time.Since(start)
fmt.Println("t函数执行完成耗时:", elapsed)
}
func t2() {
start := time.Now()
for i := -1.0; i > -1000000000; i-- {
_ = math.Abs(i)
}
elapsed := time.Since(start)
fmt.Println("t2函数执行完成耗时:", elapsed)
}
//t函数执行完成耗时: 956.5709ms
//t2函数执行完成耗时: 952.8599ms
//t函数执行完成耗时: 953.1113ms
//t2函数执行完成耗时: 959.0932ms
//t2函数执行完成耗时: 952.184ms
//t函数执行完成耗时: 950.48ms
//t2函数执行完成耗时: 951.7409ms
//t函数执行完成耗时: 950.9821ms
...
...
测了多次 耗时互有高低,但差别都不大
然后安心的用0-diff写法(原因就是书写效率高),继续耕耘,美美哒~