2020 */
2121package com .jpetrak .gate .stringannotation .extendedgazetteer ;
2222
23- import gate .Factory ;
24- import gate .FeatureMap ;
25- import gate .Resource ;
26- import gate .creole .ANNIEConstants ;
27- import gate .creole .AbstractLanguageAnalyser ;
28- import gate .creole .ResourceInstantiationException ;
29- import gate .creole .metadata .CreoleParameter ;
30- import gate .util .BomStrippingInputStreamReader ;
31- import gate .util .GateRuntimeException ;
32- import gate .util .Strings ;
33-
23+ import java .awt .event .ActionEvent ;
3424import java .io .BufferedReader ;
3525import java .io .File ;
3626import java .io .IOException ;
27+ import java .io .InputStreamReader ;
3728import java .io .UnsupportedEncodingException ;
3829import java .lang .management .ManagementFactory ;
3930import java .net .MalformedURLException ;
4031import java .net .URL ;
32+ import java .util .ArrayList ;
4133import java .util .HashMap ;
4234import java .util .Iterator ;
4335import java .util .List ;
44- import java .util .ArrayList ;
4536import java .util .Locale ;
4637import java .util .Map ;
4738import java .util .regex .Pattern ;
39+ import java .util .zip .GZIPInputStream ;
40+
41+ import javax .swing .AbstractAction ;
42+ import javax .swing .Action ;
4843
4944import org .apache .log4j .Logger ;
45+ import org .yaml .snakeyaml .Yaml ;
5046
5147import com .jpetrak .gate .stringannotation .extendedgazetteer .trie .GazStoreTrie3 ;
5248import com .jpetrak .gate .stringannotation .utils .UrlUtils ;
49+
50+ import gate .Factory ;
51+ import gate .FeatureMap ;
5352import gate .GateConstants ;
53+ import gate .Resource ;
54+ import gate .creole .ANNIEConstants ;
55+ import gate .creole .AbstractLanguageAnalyser ;
56+ import gate .creole .ResourceInstantiationException ;
57+ import gate .creole .ResourceReference ;
58+ import gate .creole .metadata .CreoleParameter ;
5459import gate .creole .metadata .Optional ;
5560import gate .gui .ActionsPublisher ;
61+ import gate .util .BomStrippingInputStreamReader ;
5662import gate .util .Files ;
57- import gate .creole .ResourceReference ;
58- import java .awt .event .ActionEvent ;
59- import java .io .InputStreamReader ;
60- import java .util .zip .GZIPInputStream ;
61- import javax .swing .AbstractAction ;
62- import javax .swing .Action ;
63- import static javax .swing .Action .SHORT_DESCRIPTION ;
64-
65- import org .yaml .snakeyaml .Yaml ;
63+ import gate .util .GateRuntimeException ;
64+ import gate .util .Strings ;
6665
6766/**
6867 * Common Base class for all gazetteer implementations. All these PRs need to
@@ -187,17 +186,24 @@ public synchronized void incrementGazStore() throws ResourceInstantiationExcepti
187186 // System.err.println("DEBUG running incrementGazStore");
188187 String uniqueGazStoreKey = genUniqueGazStoreKey ();
189188 logger .info ("Creating gazetteer for " + getConfigFileURL ());
190- System .gc ();
191- long startTime = System .currentTimeMillis ();
192- long before = ManagementFactory .getMemoryMXBean ().getHeapMemoryUsage ().getUsed ();
189+
190+ boolean profile = (System .getProperty ("com.jpetrak.gate.stringannotation.profile" ) != null );
191+
192+ long startTime = 0 , before = 0 ;
193+
194+ if (profile ) {
195+ System .gc ();
196+ startTime = System .currentTimeMillis ();
197+ before = ManagementFactory .getMemoryMXBean ().getHeapMemoryUsage ().getUsed ();
198+ }
199+
193200 GazStore gs = loadedGazStores .get (uniqueGazStoreKey );
194201 if (gs != null ) {
195202 // The FSM for this file/parm combination already has been compiled, just
196203 // reuse it for this PR
197204 gazStore = gs ;
198205 gazStore .refcount ++;
199206 logger .info ("Reusing already generated GazStore for " + uniqueGazStoreKey );
200- System .err .println ("Reusing already generated gaz store for " + uniqueGazStoreKey );
201207 } else {
202208 try {
203209 loadData ();
@@ -211,21 +217,32 @@ public synchronized void incrementGazStore() throws ResourceInstantiationExcepti
211217 // System.err.println("DEBUG addeed new gaz store with key " + uniqueGazStoreKey);
212218 logger .info ("New GazStore loaded for " + uniqueGazStoreKey );
213219 }
214- long endTime = System .currentTimeMillis ();
215- System .gc ();
216- long after = ManagementFactory .getMemoryMXBean ().getHeapMemoryUsage ().getUsed ();
217- logger .info ("Gazetteer created in (secs): " + ((endTime - startTime ) / 1000.0 ));
218- logger .info ("Heap memory increase (estimate,MB): "
219- + String .format ("%01.3f" , ((after - before ) / (1024.0 * 1024.0 ))));
220- logger .info (gazStore .statsString ());
220+
221+ if (profile ) {
222+ long endTime = System .currentTimeMillis ();
223+ System .gc ();
224+ long after = ManagementFactory .getMemoryMXBean ().getHeapMemoryUsage ().getUsed ();
225+ logger .info ("Gazetteer created in (secs): " + ((endTime - startTime ) / 1000.0 ));
226+ logger .info ("Heap memory increase (estimate,MB): "
227+ + String .format ("%01.3f" , ((after - before ) / (1024.0 * 1024.0 ))));
228+ logger .info (gazStore .statsString ());
229+ }
221230 }
222231
223232 public synchronized void replaceGazStore () throws ResourceInstantiationException {
224233 String uniqueGazStoreKey = genUniqueGazStoreKey ();
225234 logger .info ("Replacing gazetteer for " + getConfigFileURL ());
226- System .gc ();
227- long startTime = System .currentTimeMillis ();
228- long before = ManagementFactory .getMemoryMXBean ().getHeapMemoryUsage ().getUsed ();
235+
236+ long startTime = 0 , before = 0 ;
237+
238+ boolean profile = (System .getProperty ("com.jpetrak.gate.stringannotation.profile" ) != null );
239+
240+ if (profile ) {
241+ System .gc ();
242+ startTime = System .currentTimeMillis ();
243+ before = ManagementFactory .getMemoryMXBean ().getHeapMemoryUsage ().getUsed ();
244+ }
245+
229246 try {
230247 loadData ();
231248 gazStore .compact ();
@@ -235,13 +252,15 @@ public synchronized void replaceGazStore() throws ResourceInstantiationException
235252 loadedGazStores .put (uniqueGazStoreKey , gazStore );
236253 logger .info ("GazStore replaced for " + uniqueGazStoreKey );
237254
238- long endTime = System .currentTimeMillis ();
239- System .gc ();
240- long after = ManagementFactory .getMemoryMXBean ().getHeapMemoryUsage ().getUsed ();
241- logger .info ("Gazetteer created in (secs): " + ((endTime - startTime ) / 1000.0 ));
242- logger .info ("Heap memory increase (estimate,MB): "
243- + String .format ("%01.3f" , ((after - before ) / (1024.0 * 1024.0 ))));
244- logger .info (gazStore .statsString ());
255+ if (profile ) {
256+ long endTime = System .currentTimeMillis ();
257+ System .gc ();
258+ long after = ManagementFactory .getMemoryMXBean ().getHeapMemoryUsage ().getUsed ();
259+ logger .info ("Gazetteer created in (secs): " + ((endTime - startTime ) / 1000.0 ));
260+ logger .info ("Heap memory increase (estimate,MB): "
261+ + String .format ("%01.3f" , ((after - before ) / (1024.0 * 1024.0 ))));
262+ logger .info (gazStore .statsString ());
263+ }
245264 }
246265
247266 public synchronized void decrementGazStore () {
0 commit comments