Changeset 185

Show
Ignore:
Timestamp:
02/22/06 16:54:17
Author:
douglm
Message:

Speed up change.

Within the timeview code we do a lot of UTC calculation, over 60 for your average month.

This change caches the results and reuses them. Dropped response time on my laptop from about 20 seconds to 2

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/calendar3/appcommon/src/org/bedework/appcommon/TimeView.java

    r172 r185  
    105105   */ 
    106106  private TimeViewDailyInfo[] tvdis; 
     107   
     108  private static final TimezoneCache tzcache = new TimezoneCache(false); 
    107109 
    108110  /** Constructor: 
     
    269271    Vector v = new Vector(); 
    270272//    Dur oneDay = new Dur(1, 0, 0, 0); 
     273    long millis = System.currentTimeMillis(); 
     274     
     275    tzcache.setSysTimezones(cal.getTimezones()); 
    271276    BwDateTime startDt = CalFacadeUtil.getDateTime(date.getDateDigits(), 
    272                                                    cal.getTimezones()); 
    273  
    274 //    BwDateTime endDt = BwDateTime.makeDateTime(startDt.makeDtStart(), true, oneDay); 
    275     BwDateTime endDt = startDt.getNextDay(cal.getTimezones()); 
     277                                                   tzcache); 
     278//                                                   cal.getTimezones()); 
     279 
     280//    BwDateTime endDt = startDt.getNextDay(cal.getTimezones()); 
     281    BwDateTime endDt = startDt.getNextDay(tzcache); 
    276282    String start = startDt.getDate(); 
    277283    String end = endDt.getDate(); 
     284     
     285    debugMsg("Did UTC stuff in " + (System.currentTimeMillis() - millis)); 
    278286 
    279287    //if (debug) { 
     
    283291      events = cal.getEvents(null, null, 
    284292                             CalFacadeUtil.getDateTime(firstDay.getDateDigits(), 
    285                                   cal.getTimezones()), 
     293//                                                     cal.getTimezones()), 
     294                                                       tzcache), 
    286295                             CalFacadeUtil.getDateTime(lastDay.getTomorrow().getDateDigits(), 
    287                                   cal.getTimezones()), 
    288                                   CalFacadeDefs.retrieveRecurExpanded); 
     296//                                                     cal.getTimezones()), 
     297                                                       tzcache), 
     298                             CalFacadeDefs.retrieveRecurExpanded); 
    289299    } 
    290300 
  • trunk/calendar3/calFacade/src/org/bedework/calfacade/ifs/CalTimezones.java

    r173 r185  
    8484  protected transient TimeZone defaultTimeZone; 
    8585 
    86   protected static class TimezoneInfo
     86  protected static class TimezoneInfo implements Serializable
    8787    TimeZone tz; 
    8888