MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Waktu muat RSpec luar biasa lama di OS X

Pengumpul

Sepertinya beberapa masalah pemuatan bundler untuk saya. Saya akan merekomendasikan untuk melakukan beberapa pengukuran lagi. Apakah Anda menggunakan 1 gemset per proyek atau menyimpan semuanya dalam 1 gemset (benar jika Anda tidak menggunakannya)? Jika Anda memiliki banyak permata dalam 1 direktori (yaitu 1 kumpulan permata untuk semua) pada akhirnya akan sangat memperlambat bundler, karena ia perlu melintasi lebih banyak jalur untuk menjalankan tugasnya.

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

Jika gem list -q | wc -l melaporkan nilai yang cukup besar (saya punya 237 dan semuanya tampak normal bagi saya), mungkin Anda perlu membagi permata yang terpasang menjadi permata terpisah per proyek.

Lakukan pengukuran lagi dengan time perintah, cari yang real nilai, itu jumlah total.

Pertama, hapus bundled_rspec Anda wrapper, itu tidak diperlukan dengan RVM terbaru versi.

Kemudian ukur pemuatan rspec Anda dengan dan tanpa 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`

Jika time rspec -v memberi Anda jumlah besar bahkan untuk proyek dengan Gemfile yang relatif kecil, ini adalah masalah bundler.

Rel

Hambatan berikutnya biasanya Rails itu sendiri. Coba ukur satu tes yang tidak memuat Rails (yaitu hanya spec_helper ) dan kemudian uji dengan Rails (yaitu dengan rails_helper ).

Segera setelah Anda mulai melihat perbedaan besar dalam jumlah, Anda akan tahu di mana Anda memiliki masalah.

Musim semi

Sebagai solusi perbaikan cepat untuk meningkatkan kinerja rel adalah penggunaan spring permata . Jika Anda menggunakan Rails 4.1+ Spring sudah diaktifkan.

Untuk mengaktifkan Spring untuk rspec tambahkan ke Gemfile

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

dan jalankan

$ bundle install
$ spring binstub --all

Perintah terakhir akan menghasilkan pembungkus untuk semua binari yang didukung pegas di bin project proyek Anda folder (lihat di sana dan jangan lupa untuk mengkomitnya). Setelah itu Anda harus menjalankan rspec dengan bin/rspec . Jalankan pertama akan tetap lambat, tetapi semua lari berikutnya harus cukup cepat karena Rails sudah dimuat.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cara Menginstal MongoDB 4.2 pada sistem RedHat/ CentOS 7

  2. Bagaimana Melakukan Operasi Query Dasar di MongoDB

  3. Bagaimana cara memeriksa koneksi ke mongodb

  4. nama bidang batchSize diabaikan dalam Proyeksi Bidang

  5. Mongoengine, mengambil hanya sebagian dari MapField