You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Toys can now be run in a Ruby VM that does not have Rubygems loaded up-front. So there's the potential of about 50ms faster startup if we can disable Rubygems. However, Toys is currently installed as a gem, and the Rubygems provides the frontend for its executable.
Create a mechanism to invoke Toys in a Ruby that has Rubygems disabled. This would be particularly useful for the shell completion scripts, which are sensitive to startup time.
Some initial ideas:
Rewrite the completion script to bypass the Rubygems executable and invoke Ruby directly with --disable=gems. There are some complications here, notably if the user installs a new version of Toys, or changes the current Ruby using a tool such as rbenv, the completion script might end up pointing at an old Toys installation.
Provide a system command that installs an alternate bin "pinning" to the current Toys installation (although this may exhibit the same complications).
Experiment with using a non-Ruby script as the executable. Not sure what Rubygems will do with such an executable, though.
The text was updated successfully, but these errors were encountered:
Toys can now be run in a Ruby VM that does not have Rubygems loaded up-front. So there's the potential of about 50ms faster startup if we can disable Rubygems. However, Toys is currently installed as a gem, and the Rubygems provides the frontend for its executable.
Create a mechanism to invoke Toys in a Ruby that has Rubygems disabled. This would be particularly useful for the shell completion scripts, which are sensitive to startup time.
Some initial ideas:
--disable=gems
. There are some complications here, notably if the user installs a new version of Toys, or changes the current Ruby using a tool such as rbenv, the completion script might end up pointing at an old Toys installation.system
command that installs an alternate bin "pinning" to the current Toys installation (although this may exhibit the same complications).The text was updated successfully, but these errors were encountered: