'From Squeak4.5 of 25 May 2014 [latest update: #13773] on 25 May 2014 at 10:02:29 am'! Object subclass: #LXTestDateAndTimePerformance instanceVariableNames: 'delta dt times' classVariableNames: '' poolDictionaries: '' category: 'DTL'! !LXTestDateAndTimePerformance commentStamp: 'dtl 5/25/2014 09:36' prior: 0! LXTestDateAndTimePerformance new test.! ]style[(28 10)c000000126,! !LXTestDateAndTimePerformance methodsFor: 'initialize-release' stamp: 'dtl 5/25/2014 09:32'! initialize super initialize. delta := (30 * 24 * 3600 + 127) seconds. dt := '1500-11-25T14:51:03.506615-21:23:31' asDateAndTime. times := (1 to: 10000) collect: [:e | dt := dt + delta]. ! ! !LXTestDateAndTimePerformance methodsFor: 'testing' stamp: 'dtl 5/25/2014 09:57'! test ^ { #testNow -> self testNow . #testEquals -> self testEquals . #testGreaterThan -> self testGreaterThan . #testLessThan -> self testLessThan . #testPrintString -> self testPrintString . #testStringAsDateAndTime -> self testStringAsDateAndTime }! ! !LXTestDateAndTimePerformance methodsFor: 'testing' stamp: 'dtl 5/25/2014 09:39'! testEquals ^ Time millisecondsToRun: [ times do: [:time | times do: [:e | e = time ]]]! ! !LXTestDateAndTimePerformance methodsFor: 'testing' stamp: 'dtl 5/25/2014 09:39'! testGreaterThan ^ Time millisecondsToRun: [ times do: [:time | times do: [:e | e > time ]]]! ! !LXTestDateAndTimePerformance methodsFor: 'testing' stamp: 'dtl 5/25/2014 09:38'! testLessThan ^ Time millisecondsToRun: [ times do: [:time | times do: [:e | e < time ]]]! ! !LXTestDateAndTimePerformance methodsFor: 'testing' stamp: 'dtl 5/25/2014 09:42'! testNow ^ Time millisecondsToRun: [5000000 timesRepeat: [DateAndTime now]]! ! !LXTestDateAndTimePerformance methodsFor: 'testing' stamp: 'dtl 5/25/2014 09:50'! testPrintString ^ Time millisecondsToRun: [50 timesRepeat: [times do: [:time | time asString]]]! ! !LXTestDateAndTimePerformance methodsFor: 'testing' stamp: 'dtl 5/25/2014 09:55'! testStringAsDateAndTime | strings | strings := times collect: [:e | e printString]. ^ Time millisecondsToRun: [50 timesRepeat: [strings do: [:string | string asDateAndTime]]]! !