From ca71c038a147f721bf8875bfcf938b1a20410e54 Mon Sep 17 00:00:00 2001 From: Jack Nagel Date: Wed, 11 Apr 2012 20:19:52 -0500 Subject: [PATCH] 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 --- Library/Homebrew/hardware.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Library/Homebrew/hardware.rb b/Library/Homebrew/hardware.rb index 8716cd2704..426ab4c497 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