Revision: 8782 http://languagetool.svn.sourceforge.net/languagetool/?rev=8782&view=rev Author: dnaber Date: 2013-01-02 14:37:35 +0000 (Wed, 02 Jan 2013) Log Message: ----------- work against the very first slow check because we use so much lazy init: init the LT object with the default language
Modified Paths: -------------- trunk/JLanguageTool/CHANGES.txt trunk/JLanguageTool/src/main/java/org/languagetool/gui/LanguageComboBox.java trunk/JLanguageTool/src/main/java/org/languagetool/gui/Main.java Modified: trunk/JLanguageTool/CHANGES.txt =================================================================== --- trunk/JLanguageTool/CHANGES.txt 2013-01-02 10:57:12 UTC (rev 8781) +++ trunk/JLanguageTool/CHANGES.txt 2013-01-02 14:37:35 UTC (rev 8782) @@ -24,6 +24,9 @@ the three morfologik spell checker dictionaries (German, Austrian, und Swiss). -bugfix: suggestions for compounds parts were missing sometimes + + -stand-alone GUI: the very first check for languages with a lot of rules + (e.g. German, French) should now be faster 2.0 (2012-12-30) Modified: trunk/JLanguageTool/src/main/java/org/languagetool/gui/LanguageComboBox.java =================================================================== --- trunk/JLanguageTool/src/main/java/org/languagetool/gui/LanguageComboBox.java 2013-01-02 10:57:12 UTC (rev 8781) +++ trunk/JLanguageTool/src/main/java/org/languagetool/gui/LanguageComboBox.java 2013-01-02 14:37:35 UTC (rev 8782) @@ -56,6 +56,10 @@ } } + Language getDefaultLanguage() { + return Language.getLanguageForLocale(Locale.getDefault()); + } + private void initAllLanguages() { i18nLanguages.clear(); for (Language language : Language.LANGUAGES) { @@ -71,8 +75,7 @@ } private void preselectDefaultLanguage() { - final Language defaultLanguage = Language.getLanguageForLocale(Locale.getDefault()); - selectLanguage(defaultLanguage); + selectLanguage(getDefaultLanguage()); } } Modified: trunk/JLanguageTool/src/main/java/org/languagetool/gui/Main.java =================================================================== --- trunk/JLanguageTool/src/main/java/org/languagetool/gui/Main.java 2013-01-02 10:57:12 UTC (rev 8781) +++ trunk/JLanguageTool/src/main/java/org/languagetool/gui/Main.java 2013-01-02 14:37:35 UTC (rev 8782) @@ -242,11 +242,22 @@ cons.insets = new Insets(1, 10, 10, 1); cons.gridy = 3; contentPane.add(panel, cons); + + warmUpChecker(); frame.pack(); frame.setSize(WINDOW_WIDTH, WINDOW_HEIGHT); } + private void warmUpChecker() { + // Warm-up: we have a lot of lazy init in LT, which causes the first check to + // be very slow (several seconds) for languages with a lot of data and a lot of + // rules. We just assume that the default language is the language that the user + // often uses and init the LT object for that now, not just when it's first used. + // This makes the first check feel much faster: + getCurrentLanguageTool(languageBox.getDefaultLanguage()); + } + private void setLookAndFeel() { try { for (UIManager.LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) { @@ -512,7 +523,7 @@ new Thread() { @Override public void run() { - if (!isAlreadyChecking) { + if (!isAlreadyChecking) { isAlreadyChecking = true; setWaitCursor(); checkTextButton.setEnabled(false); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript, jQuery and much more. Keep your Java skills current with LearnJavaNow - 200+ hours of step-by-step video tutorials by Java experts. SALE $49.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122612 _______________________________________________ Languagetool-commits mailing list Languagetool-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/languagetool-commits