1. 18 Mar, 2019 1 commit
  2. 17 Mar, 2019 3 commits
    • Elias Naur's avatar
      os: only fallback to root directory if $HOME fails for UserHomeDir · bedb6a18
      Elias Naur authored
      UserHomeDir always returns "/" for platforms where the home directory
      is not always well defined. However, the user might set HOME before
      running a Go program on those platforms and on at least iOS, HOME
      is actually set to something useful (the root of the app specific
      writable directory).
      
      This CL changes UserHomeDir to use the root directory "/" only if
      $HOME is empty.
      
      Change-Id: Icaa01de53cd585d527d9a23b1629375d6b7f67e9
      Reviewed-on: https://go-review.googlesource.com/c/go/+/167802
      Run-TryBot: Elias Naur <mail@eliasnaur.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarTobias Klauser <tobias.klauser@gmail.com>
      bedb6a18
    • Tobias Klauser's avatar
      internal/bytealg: use word-wise comparison for Equal on arm · a734601b
      Tobias Klauser authored
      Follow CL 165338 and use word-wise comparison for aligned buffers in
      Equal on arm, otherwise fall back to the current byte-wise comparison.
      
      name                 old time/op    new time/op    delta
      Equal/0-4              25.7ns ± 1%    23.5ns ± 1%    -8.78%  (p=0.000 n=10+10)
      Equal/1-4              65.8ns ± 0%    60.1ns ± 1%    -8.69%  (p=0.000 n=10+9)
      Equal/6-4              82.9ns ± 1%    86.7ns ± 0%    +4.59%  (p=0.000 n=10+10)
      Equal/9-4              90.0ns ± 0%   101.0ns ± 0%   +12.18%  (p=0.000 n=9+10)
      Equal/15-4              108ns ± 0%     119ns ± 0%   +10.19%  (p=0.000 n=8+8)
      Equal/16-4              111ns ± 0%      82ns ± 0%   -26.37%  (p=0.000 n=8+10)
      Equal/20-4              124ns ± 1%      87ns ± 1%   -29.94%  (p=0.000 n=9+10)
      Equal/32-4              160ns ± 1%      97ns ± 1%   -39.40%  (p=0.000 n=10+10)
      Equal/4K-4             14.0µs ± 0%     3.6µs ± 1%   -74.57%  (p=0.000 n=9+10)
      Equal/4M-4             12.8ms ± 1%     3.2ms ± 0%   -74.93%  (p=0.000 n=9+9)
      Equal/64M-4             204ms ± 1%      51ms ± 0%   -74.78%  (p=0.000 n=10+10)
      EqualPort/1-4          47.0ns ± 1%    46.8ns ± 0%    -0.40%  (p=0.015 n=10+6)
      EqualPort/6-4          82.6ns ± 1%    81.9ns ± 1%    -0.87%  (p=0.002 n=10+10)
      EqualPort/32-4          232ns ± 0%     232ns ± 0%      ~     (p=0.496 n=8+10)
      EqualPort/4K-4         29.0µs ± 1%    29.0µs ± 1%      ~     (p=0.604 n=9+10)
      EqualPort/4M-4         24.0ms ± 1%    23.8ms ± 0%    -0.65%  (p=0.001 n=9+9)
      EqualPort/64M-4         383ms ± 1%     382ms ± 0%      ~     (p=0.218 n=10+10)
      CompareBytesEqual-4    61.2ns ± 1%    61.0ns ± 1%      ~     (p=0.539 n=10+10)
      
      name                 old speed      new speed      delta
      Equal/1-4            15.2MB/s ± 0%  16.6MB/s ± 1%    +9.52%  (p=0.000 n=10+9)
      Equal/6-4            72.4MB/s ± 1%  69.2MB/s ± 0%    -4.40%  (p=0.000 n=10+10)
      Equal/9-4             100MB/s ± 0%    89MB/s ± 0%   -11.40%  (p=0.000 n=9+10)
      Equal/15-4            138MB/s ± 1%   125MB/s ± 1%    -9.41%  (p=0.000 n=10+10)
      Equal/16-4            144MB/s ± 1%   196MB/s ± 0%   +36.41%  (p=0.000 n=10+10)
      Equal/20-4            162MB/s ± 1%   231MB/s ± 1%   +42.98%  (p=0.000 n=9+10)
      Equal/32-4            200MB/s ± 1%   331MB/s ± 1%   +65.64%  (p=0.000 n=10+10)
      Equal/4K-4            292MB/s ± 0%  1149MB/s ± 1%  +293.19%  (p=0.000 n=9+10)
      Equal/4M-4            328MB/s ± 1%  1307MB/s ± 0%  +298.87%  (p=0.000 n=9+9)
      Equal/64M-4           329MB/s ± 1%  1306MB/s ± 0%  +296.56%  (p=0.000 n=10+10)
      EqualPort/1-4        21.3MB/s ± 1%  21.4MB/s ± 0%    +0.42%  (p=0.002 n=10+9)
      EqualPort/6-4        72.6MB/s ± 1%  73.2MB/s ± 1%    +0.87%  (p=0.003 n=10+10)
      EqualPort/32-4        138MB/s ± 0%   138MB/s ± 0%      ~     (p=0.953 n=9+10)
      EqualPort/4K-4        141MB/s ± 1%   141MB/s ± 1%      ~     (p=0.382 n=10+10)
      EqualPort/4M-4        175MB/s ± 1%   176MB/s ± 0%    +0.65%  (p=0.001 n=9+9)
      EqualPort/64M-4       175MB/s ± 1%   176MB/s ± 0%      ~     (p=0.225 n=10+10)
      
      The 5-12% decrease in performance on Equal/{6,9,15} are due to the
      benchmarks splitting the bytes buffer in half. The b argument to Equal
      then ends up being unaligned and thus the fast word-wise compare doesn't
      kick in.
      
      Updates #29001
      
      Change-Id: I73be501c18e67d211ed19da7771b4f254254e609
      Reviewed-on: https://go-review.googlesource.com/c/go/+/167557
      Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarCherry Zhang <cherryyz@google.com>
      a734601b
    • Elias Naur's avatar
      cmd/go,misc/ios: fix tests on iOS · 746f405f
      Elias Naur authored
      Now that modules are always on, cmd/go tests require a valid
      GOCACHE. However, on iOS where the go tool is not available, the
      cmd/go test driver ends up setting GOCACHE to the empty string.
      Fix it by falling back to the builtin default cache directory.
      
      The iOS exec wrapper passes the environment variables to the app
      on the device, including $HOME used for the default cache directory.
      Skip $HOME to let the device specific and writable $HOME be used
      instead.
      
      Should fix cmd/go on the iOS builders that broke when GO111MODULE
      defaulted to on.
      
      Change-Id: I0939f5b8aaa1d2db95e64c99f4130eee2d0b4d4d
      Reviewed-on: https://go-review.googlesource.com/c/go/+/167938
      Run-TryBot: Elias Naur <mail@eliasnaur.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
      746f405f
  3. 16 Mar, 2019 1 commit
  4. 15 Mar, 2019 16 commits
  5. 14 Mar, 2019 19 commits