Jestem całkiem nowy w całym świecie JRuby. Używam RSpec w dość dużym pakiecie testowym. Chciałbym móc często uruchamiać specyfikacje, ale JVM zajmuje tak dużo czasu na uruchomienie, że staje się drenażem w czasie rzeczywistym.Szybszy RSpec z JRuby
Czy istnieje sposób na utrzymanie maszyny JVM? lub sposób, aby uzyskać szybsze działanie specyfikacji z JRuby?
Jeśli używam serwera do paznokci dla moich specyfikacji, to trwa to około 23 sekundy, a po prostu uruchamianie ich ze specyfikacją rake trwa ~ 8 sekund. Muszę robić coś złego. Również nie byłem w stanie sprawić, żeby szpikował do pracy. Wydano komunikat o błędzie, że fork nie jest obsługiwany na mojej platformie. Jednak nie próbowałem wersji Roger Pack. – jacklin
Wypróbuj te same zadania kilka razy. Mój początkowy czas ładowania wynosił 30 s, aby uruchomić "jruby --ng -S gem list", ale zbliżył się <1 s po 10 uruchomieniach. Kompilator JIT wraz z buforami/buforami systemu operacyjnego powinien zacząć przyspieszać (szczególnie te w/o ssd). Upewnij się również, że używasz maszyny wirtualnej --server wraz z innymi standardowymi flagami GC. Obserwuj użycie pamięci, procesor i i/o, aby określić wąskie gardło (jeśli występuje). HTH. – Barry
Uzgodnione, spork i nailgun razem w moim projekcie przyniosły mój jednorazowy test z 30 do 5 sekund. Mam poręczny skrypt pomocniczy do uruchamiania rspec z sporkami i gwoździami, tylko gdy są uruchomione, na wypadek gdybyś był zainteresowany: http://ylan.segal-family.com/blog/2012/10/02/faster-rspec- jruby/ –