MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Thời gian tải RSpec lâu đáng kinh ngạc trên OS X

Trình gói

Có vẻ như một số vấn đề khi tải gói đối với tôi. Tôi khuyên bạn nên thực hiện thêm một số phép đo. Bạn có sử dụng 1 bộ đá quý cho mỗi dự án hay lưu trữ mọi thứ trong 1 bộ đá quý (đó là sự thật nếu bạn không sử dụng bộ nào)? Nếu bạn có nhiều đá quý trong 1 thư mục (tức là 1 bộ đá quý cho tất cả) thì cuối cùng nó sẽ làm chậm gói dữ liệu đi rất nhiều, vì nó cần phải đi qua nhiều đường dẫn hơn để thực hiện công việc của mình.

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

If gem list -q | wc -l báo cáo giá trị khá lớn (Tôi có 237 và mọi thứ có vẻ bình thường đối với tôi), có thể bạn cần chia các viên ngọc đã cài đặt thành một bộ đá quý riêng cho mỗi dự án.

Thực hiện thêm một số phép đo với time , hãy tìm real giá trị, đó là tổng số tiền.

Trước tiên, hãy xóa bundled_rspec của bạn wrapper, nó không cần thiết với RVM mới nhất các phiên bản.

Sau đó, đo tải rspec của bạn có và không có 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`

Nếu time rspec -v cung cấp cho bạn những con số lớn ngay cả đối với dự án có Gemfile tương đối nhỏ, đó là một vấn đề về gói.

Đường ray

Nút thắt cổ chai tiếp theo thường là chính Rails. Thử đo một kiểm tra không tải Rails (tức là chỉ spec_helper ) và sau đó kiểm tra với rails (tức là với rails_helper ).

Ngay sau khi bạn bắt đầu thấy sự khác biệt lớn về số lượng, bạn sẽ biết mình gặp vấn đề ở đâu.

Mùa xuân

Như một giải pháp khắc phục nhanh để cải thiện hiệu suất đường ray là sử dụng spring đá quý . Nếu bạn sử dụng Rails 4.1+ thì Spring đã được kích hoạt.

Để bật Spring cho rspec thêm vào Gemfile của bạn

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

và chạy

$ bundle install
$ spring binstub --all

Lệnh cuối cùng sẽ tạo trình bao bọc cho tất cả các tệp nhị phân được hỗ trợ mùa xuân trong bin của dự án của bạn thư mục (hãy xem ở đó và đừng quên cam kết chúng). Sau đó, bạn nên chạy rspec với bin/rspec . Lần chạy đầu tiên sẽ vẫn còn chậm, nhưng tất cả các lần chạy sau đó phải đủ nhanh vì Rails sẽ được tải.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. In ngày MongoDB từ PHP

  2. 2 cách để giới hạn tài liệu được trả lại trong MongoDB

  3. Tập hợp Mongodb Hàng thành cột

  4. MongoError:nhóm cá thể máy chủ đã bị phá hủy

  5. Làm cách nào để kết hợp axios.get nhiều kết quả phản hồi vào một mảng?