That is currently the case for the mainline implementations, AFAIK, but it
really shouldn't matter, unless you are hacking on the runtime/compiler.

On Sat, Feb 11, 2017 at 3:36 PM, T L <tapir....@gmail.com> wrote:

>
>
> On Saturday, February 11, 2017 at 1:49:58 PM UTC+8, T L wrote:
>>
>> https://github.com/golang/go/issues/5373
>>
>
>
> btw, does this optimization imply that the zero value of any type is
> composed by zero bytes?
> At least for all current supported ARCHes.
>
>
>>
>>
>> I made a test
>>
>> package main
>>
>> import (
>>     "testing"
>> )
>>
>> const N = 1024 * 100
>> var a [N]int
>>
>> func BenchmarkArrayPtr(b *testing.B) {
>>     for i := 0; i < b.N; i++ {
>>         for i := range &a {
>>             a[i] = 0
>>         }
>>     }
>> }
>>
>> func BenchmarkArray(b *testing.B) {
>>     for i := 0; i < b.N; i++ {
>>         for i := range a {
>>             a[i] = 0
>>         }
>>     }
>> }
>>
>> func BenchmarkArrayB(b *testing.B) {
>>     var k int
>>     go func() {
>>         k = 123
>>     }()
>>     for i := 0; i < b.N; i++ {
>>         for k = range a {
>>             a[k] = 0
>>         }
>>     }
>> }
>>
>> /*
>> Outputs:
>> BenchmarkArrayPtr-4          50000         90457 ns/op
>> BenchmarkArray-4            100000         49656 ns/op
>> BenchmarkArrayB-4           100000         49628 ns/op
>> */
>>
>> it looks the loop in the BenchmarkArrayB is also optimized as a memclr
>> call, but I can't make sure it is true.
>> If it is true, it is over-optimized.
>> Anyone can confirm it is over-optimized or not?
>>
> --
> You received this message because you are subscribed to the Google Groups
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to golang-nuts+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to