Ich muss ziemlich lange warten (im Vergleich zu meinen Freunden Maschinen) für die Ausführung von Skripten auf jRuby, besonders wenn ich Rake-Aufgaben oder Tests ausführen. Ich habe versucht, jRuby Version 1.3.1 und 1.4.1 mit und ohne Ruby-Debug-Juwel und das gleiche Problem trat in jeder Konfiguration auf.
Die Frage ist einfach: Gibt es eine Möglichkeit, den jRuby-Ladeprozess zu verbessern? ..oder habe ich etwas falsch mit meiner jvm-Konfiguration oder jRuby-Installation (ich benutze jRuby über rvm - ruby version manager)?
Es gibt ein paar Dinge, die Sie ausprobieren könnten:
jruby --ng
auszuführen) Allerdings sind Tests und Skripte das Worst-Case-Szenario für JRuby. Die JRuby-Laufzeit allein ist schon ziemlich schwer, viel schwerer als MRT. Das Laden des gesamten Biest von der Festplatte in den Arbeitsspeicher kann schon länger dauern, als das gleiche Skript in der MRI laufen zu lassen. Und wir haben noch nicht einmal die Startzeit für die JVM hinzugefügt!
Stellen Sie außerdem sicher, dass Sie JVM im Modus Client ausführen (vorausgesetzt, Sie verwenden Suns JVM), da dieser Modus einen schnelleren Start und eine bessere Gesamtleistung für Testsuiten bietet. JRuby sollte JVM standardmäßig im Client-Modus verwenden, dies hängt jedoch vom System und Ihren JVM-Einstellungen usw. ab. Um zu überprüfen, ob Sie Client-JVM verwenden, rufen Sie jruby -v auf, und Sie sollten so etwas sehen.
%Vor%Aktualisieren : Sehen Sie sich den Blogbeitrag von Charles mit Tipps zur Verbesserung des Startup an: Ссылка
spork kann helfen, wenn die Unit-Tests die Zeit auf
verbessern möchten JRuby hat jetzt ein --dev
-Flag, das viele schnelle Optionen kombiniert. Ich habe meine Modellprüfungen auf Rails 5 und JRuby 9.1.7.0 mit über 80% Verbesserung durchgeführt!
Möchten Sie nicht alles eingeben? Erstelle ein Makefile! Sie können -G
hinzufügen, um bundle exec
Dann einfach
ausführen %Vor%Quelle: Ссылка
Tags und Links ruby performance jvm jruby