aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorJack Nagel2012-04-11 20:19:52 -0500
committerJack Nagel2012-07-02 01:10:21 -0500
commitca71c038a147f721bf8875bfcf938b1a20410e54 (patch)
treeaeedd57d2ae86a67c5b9705448ce4ca0f1a6be86 /Library
parent168ccb2821f1e4adb1129b2a73b51805743aee51 (diff)
downloadbrew-ca71c038a147f721bf8875bfcf938b1a20410e54.tar.bz2
Cache Hardware.is_64_bit?
IO#popen is called for each call to Hardware.is_64_bit?; this becomes costly when it is repeatedly invoked. Luckily it is an invariant, so we can store it in a class variable. False is a valid value for this method, so the usual ||= idiom is not applicable. Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/hardware.rb3
1 files changed, 2 insertions, 1 deletions
diff --git a/Library/Homebrew/hardware.rb b/Library/Homebrew/hardware.rb
index 8716cd270..426ab4c49 100644
--- a/Library/Homebrew/hardware.rb
+++ b/Library/Homebrew/hardware.rb
@@ -55,7 +55,8 @@ class Hardware
end
def self.is_64_bit?
- self.sysctl_bool("hw.cpu64bit_capable")
+ return @@is_64_bit if defined? @@is_64_bit
+ @@is_64_bit = self.sysctl_bool("hw.cpu64bit_capable")
end
def self.bits