我想找到这是更快:结构VS阵列。 所以我写在我写4倍INT的值(1,2,3和4),以一个结构的成员,然后到长度为4的阵列我试图找到它需要时间来写一个GO代码。
情况1:首先,我值写入的结构,然后到一个数组。 在这里,我发现阵列比结构更快。
package main
import (
"fmt"
"time"
)
type abc struct {
a, b, c, d int
}
func main() {
var obj abc
t1 := time.Now()
obj.a = 1
obj.b = 2
obj.c = 3
obj.d = 4
t2 := time.Since(t1)
fmt.Println("Struct access time: : ", t2)
a := make([]int, 4)
t3 := time.Now()
a[0] = 1
a[1] = 2
a[2] = 3
a[3] = 4
t4 := time.Since(t3)
fmt.Println("Array access time: : ", t4)
}
情况2:其次,我将值写入数组,然后的结构。 在这里,我发现结构比数组更快。
package main
import (
"fmt"
"time"
)
type abc struct {
a, b, c, d int
}
func main() {
var obj abc
a := make([]int, 4)
t3 := time.Now()
a[0] = 1
a[1] = 2
a[2] = 3
a[3] = 4
t4 := time.Since(t3)
fmt.Println("Array access time: : ", t4)
t1 := time.Now()
obj.a = 1
obj.b = 2
obj.c = 3
obj.d = 4
t2 := time.Since(t1)
fmt.Println("Struct access time: : ", t2)
}
为什么性能取决于什么,我写的第一? 我写的第一个似乎要慢一些。 为什么会这样呢?