से अधिक धीमी गति से स्थापित मणि स्थापित करना स्थानीय स्रोत समकक्ष चलाने से बहुत धीमा है।इंस्टॉल किए गए मणि स्रोत
इंस्टॉल किए मणि:
$ time wmctile switch_to Thunderbird
real 0m0.682s
user 0m0.491s
sys 0m0.091s
स्थानीय स्रोत:
$ time ./work/wmctile/bin/wmctile switch_to Thunderbird
real 0m0.197s
user 0m0.118s
sys 0m0.064s
क्यों? क्या यह आरवीएम की वजह से हो सकता है, या यह सामान्य रूप से रूबी रत्नों की "विशेषता" है? क्या इसे गति देने का कोई तरीका है?
संपादित करें: उत्पन्न बिन फ़ाइल
$ which wmctile
/home/some_user_name/.rvm/gems/ruby-2.1.2/bin/wmctile
$ cat $(which wmctile)
#!/usr/bin/env ruby_executable_hooks
#
# This file was generated by RubyGems.
#
# The application 'wmctile' is installed as part of a gem, and
# this file is here to facilitate running it.
#
require 'rubygems'
version = ">= 0"
if ARGV.first
str = ARGV.first
str = str.dup.force_encoding("BINARY") if str.respond_to? :force_encoding
if str =~ /\A_(.*)_\z/ and Gem::Version.correct?($1) then
version = $1
ARGV.shift
end
end
gem 'wmctile', version
load Gem.bin_path('wmctile', 'wmctile', version)
मुझे यकीन है कि आरवीएम में कुछ ओवरहेड है जो रूबी के वर्तमान संस्करण को समझते हैं, बाइनरी का पता लगाते हैं और इसे निष्पादित करते हैं। स्रोत के लिए अपने bash_profile में केवल उपनाम 'wmctile' क्यों नहीं? – Anthony
यह एक वितरित मणि है जिसका उपयोग अन्य उपयोगकर्ताओं द्वारा किया जाना है, जिसमें केवल मणि होगा, स्रोत नहीं। – mreq
@ जेसेसेलाफ यह शुद्ध रूबी है। समस्या जेनरेट की गई फ़ाइल में प्रतीत होती है, '/ usr/bin/env ruby_executable_hooks' काफी धीमी प्रतीत होती है। मैंने जेनरेट की गई बिन फ़ाइल के स्रोत के साथ उत्तर संपादित किया है। – mreq