Chạy đá quý được cài đặt chậm hơn nhiều so với chạy nguồn đối ứng cục bộ của nó.Đá quý được cài đặt chậm hơn nhiều so với nguồn
đá quý cài đặt:
$ time wmctile switch_to Thunderbird
real 0m0.682s
user 0m0.491s
sys 0m0.091s
nguồn địa phương:
$ time ./work/wmctile/bin/wmctile switch_to Thunderbird
real 0m0.197s
user 0m0.118s
sys 0m0.064s
Tại sao? Nó có thể là do RVM, hay đây là một "tính năng" của đá quý ruby nói chung? Có cách nào để tăng tốc nó không?
EDIT: tạo tập tin bin
$ 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)
Tôi chắc chắn có một số chi phí trong RVM tìm ra phiên bản ruby hiện tại của bạn, định vị tệp nhị phân và thực thi nó. Tại sao không chỉ bí danh 'wmctile' trong bash_profile của bạn vào nguồn? – Anthony
Đó là một đá quý phân tán có nghĩa là để được sử dụng bởi những người dùng khác, mà sẽ chỉ có đá quý, không phải là nguồn. – mreq
@JesseSielaff Nó là ruby nguyên chất. Vấn đề dường như nằm trong tệp được tạo, '/ usr/bin/env ruby_executable_hooks' có vẻ khá chậm. Tôi đã chỉnh sửa câu trả lời với nguồn của tệp bin được tạo. – mreq