1 package examples.datetime; 2 3 import java.util.Calendar; 4 import java.util.GregorianCalendar; 5 6 import jodd.datetime.JDateTime; 7 8 public class JdtSpeed { 9 10 private static int LOOPS = 1000000; 11 12 public static void main(String args[]) { 13 if (args.length >= 1) { 14 if (args[0].equals("jdt")) { 15 measureJdt(); 16 } else if (args[0].equals("gc")) { 17 measureGc(); 18 } 19 } 20 } 21 22 public static void measureJdt() { 23 24 JDateTime jdt = new JDateTime(); 25 26 long start = System.currentTimeMillis(); 27 for (int i = 1; i < LOOPS; i++) { 28 jdt.set(1968, 9, 29); 29 jdt.getYear(); 30 jdt.getMonth(); 31 jdt.getDayOfMonth(); 32 33 jdt.addHour(1); 34 jdt.getWeekOfMonth(); 35 jdt.getWeekOfYear(); 36 } 37 System.out.println("time: " + (System.currentTimeMillis() - start) + "ms."); 38 } 39 40 41 public static void measureGc() { 42 43 GregorianCalendar gt = new GregorianCalendar(); 44 45 long start = System.currentTimeMillis(); 46 for (int i = 1; i < LOOPS; i++) { 47 gt.set(1968, 9, 29); 48 gt.get(Calendar.YEAR); 49 gt.get(Calendar.MONTH); 50 gt.get(Calendar.DAY_OF_MONTH); 51 52 gt.roll(Calendar.HOUR, true); 53 gt.get(Calendar.WEEK_OF_MONTH); 54 gt.get(Calendar.WEEK_OF_YEAR); 55 } 56 System.out.println("time: " + (System.currentTimeMillis() - start) + "ms."); 57 } 58 59 } 60 | Popular Tags |