railsとrubyの相性
rubyとrailsのバージョンを上げることになったが、一つ疑問に思いました。
適当にどっちも手間なくあげれるとこまで上げれば良いのかな・・・??
ビルド時にどのくらい速度に差があるのか気になったので調べてみました。
準備
ruby 2.2.0、2.3.0、2.4.0をrbenvでインストールしておく
コード
RUBY=("2.2.0" "2.3.0" "2.4.0")
for ruby in ${RUBY[@]}; do
export PATH=$RBENV_ROOT/shims:$PATH
rbenv global $ruby >/dev/null 2>&1
RAILS_VER=("4.0.13" "4.2.8")
for rails_ver in ${RAILS_VER[@]}; do
gem install rails -v $rails_ver >/dev/null 2>&1
if test $rails_ver = '4.0.13' ; then
gem uninstall rails -v "4.2.8" >/dev/null 2>&1
gem uninstall railties -v "4.2.8" >/dev/null 2>&1
else
gem uninstall rails -v "4.0.13" >/dev/null 2>&1
gem uninstall railties -v "4.0.13" >/dev/null 2>&1
fi
rbenv rehash
ruby -v
rails -v
rails new rails_${rails_ver}_speedtest -d mysql >/dev/null 2>&1
echo "gem 'spring'" >> ./rails_${rails_ver}_speedtest/Gemfile
cd ./rails_${rails_ver}_speedtest
bundle install --path vendor/bundle >/dev/null 2>&1
bundle exec spring rails g scaffold blog title:string description:string >/dev/null 2>&1
echo spring
for i in {1..10};do
bundle exec time spring rake routes | grep real
done 2> routes.txt
awk -f ../ave.awk routes.txt
cd ..
rm -rf ./rails_${rails_ver}_speedtest
done
done
結果
何度もやってもこのくらいに落ち着くのでやはりビルドに差があると言ってもいいのではないでしょうか。。。ちょっと今回はしょりすぎてrake routeでやったのがセンスなかったですね笑
あと追加でrails5もやったっていうのがruby2.2.0を使っているところからバレバレですねw
まとめ
ただ今回rake routeでやってしまったので差があまり明確にならず。
またバージョンのどこに差があるのかというところまで調べていない。
DBの本を読み終わった後、ここについてもう一度追加調査していたいと思います。
終わり。