MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Времето за зареждане на RSpec е невероятно дълго на OS X

Bundler

Изглежда като някакъв проблем със зареждането на пакета за мен. Бих препоръчал да направите още измервания. Използвате ли 1 gemset на проект или съхранявате всичко в 1 gemset (вярно е, ако не използвате нито един)? Ако имате много скъпоценни камъни в 1 директория (т.е. 1 скъпоценен набор за всички), това в крайна сметка ще забави много пакетирането, тъй като трябва да премине през повече пътища, за да свърши работата си.

bundle | wc -l # how many gems bundler uses in your current project
gem list -q | wc -l # how many gems in your gemset 

Ако gem list -q | wc -l отчита доста голяма стойност (имам 237 и всичко изглежда нормално за мен), може би трябва да разделите инсталираните скъпоценни камъни в отделен набор от скъпоценни камъни за всеки проект.

Направете още измервания с time команда, потърсете real стойност, това е общата сума.

Първо премахнете своя bundled_rspec обвивка, не е необходимо с най-новата RVM версии.

След това измерете зареждането на rspec със и без Bundler:

time rspec -v # with implicit bundler loading, rubygems-bundler gem is in use
time NOEXEC_DISABLE=1 rspec -v # without bundler, disable rubygems-bundler gem for this call`

Ако time rspec -v ви дава големи числа дори за проект със сравнително малък Gemfile, това е проблем на пакета.

Релси

Следващото тясно място обикновено е самият Rails. Опитайте да измерите един тест, който не зарежда Rails (т.е. само spec_helper ) и след това тествайте с rails (т.е. с rails_helper ).

Веднага щом започнете да виждате голяма разлика в числата, ще разберете къде имате проблем.

Пролет

Като бързо решение за подобряване на производителността на rails е използването на spring скъпоценен камък . Ако използвате Rails 4.1+, Spring вече е активиран.

За да активирате Spring за rspec добавете към вашия Gemfile

gem 'spring-commands-rspec', group: :development

и стартирайте

$ bundle install
$ spring binstub --all

Последната команда ще генерира обвивки за всички поддържани от spring двоични файлове в bin на вашия проект папка (погледнете там и не забравяйте да ги ангажирате). След това трябва да стартирате rspec с bin/rspec . Първото изпълнение все още ще бъде бавно, но всички последващи стартирания трябва да са достатъчно бързи, тъй като Rails вече ще бъде зареден.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongodb текстово търсене в множество полета

  2. MongoDB $trunc

  3. Помогнете да дефинирате страхотен инструмент за графичен интерфейс на MongoDB

  4. достъп до обекта на mongodb от mapper (MapReduce)

  5. mongoimport в docker-compose ми дава грешка „Не може да стартира услуга“.