gpt4 book ai didi

ruby - 安装的 gem 比源慢得多

转载 作者:数据小太阳 更新时间:2023-10-29 06:44:38 28 4
gpt4 key购买 nike

运行已安装的 gem 比运行其本地源代码要慢得多。

已安装的 gem:

$ 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

为什么?可能是因为 RVM,或者这是一般 Ruby gems 的“特性”?有什么办法可以加快速度吗?

这是生成的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)

最佳答案

每当设置 RVM Ruby 时,RVM 都会为您的 Ruby 版本和 gemset 放置正确的目录。我的 PATH 以此开头:

/Users/kbennett/.rvm/gems/ruby-2.3.0/bin
/Users/kbennett/.rvm/gems/ruby-2.3.0@global/bin
/Users/kbennett/.rvm/rubies/ruby-2.3.0/bin
/Users/kbennett/.rvm/bin

因此,我认为造成延迟的是操作系统,而不是 Ruby 本身。您可以通过将一个简单的 shell 脚本文件放在该 gem bin 目录中来测试这一点,然后在使用和不使用绝对位置的情况下调用它,看看是否有相同的区别。

关于ruby - 安装的 gem 比源慢得多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34754492/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com