[Pkg] The Trunk: Kernel-cmm.701.mcz
commits at source.squeak.org
commits at source.squeak.org
Wed Jul 4 18:53:35 UTC 2012
Chris Muller uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-cmm.701.mcz
==================== Summary ====================
Name: Kernel-cmm.701
Author: cmm
Time: 4 July 2012, 1:51:54.85 pm
UUID: f0177e3d-73ed-4616-a772-83e7bf7d89f4
Ancestors: Kernel-eem.700, Kernel-cmm.685
Merged.
=============== Diff against Kernel-eem.700 ===============
Item was changed:
----- Method: DateAndTime class>>nowWithOffset: (in category 'squeak protocol') -----
+ nowWithOffset: aDuration
- nowWithOffset: aDuration
| nanoTicks msm |
-
nanoTicks := (msm := self milliSecondsSinceMidnight) * 1000000.
+ "The following usually only executes at system startup."
+ ^ LastTick < nanoTicks
+ ifTrue:
+ [ LastTick := nanoTicks.
+ self waitForOffsets.
+ self basicNew
+ setJdn: DaysSinceEpoch
+ seconds: msm // 1000
+ nano: msm \\ 1000 * 1000000
+ offset: aDuration ]
+ ifFalse:
+ [ LastTickSemaphore critical:
+ [ LastTick := LastTick + 1.
+ self waitForOffsets.
+ self basicNew
+ setJdn: DaysSinceEpoch
+ seconds: LastTick // 1000000000
+ nano: LastTick \\ 1000000000
+ offset: aDuration ] ]
-
- (LastTick < nanoTicks) ifTrue: [
- LastTick := nanoTicks.
- ^ self todayAtMilliSeconds: msm offset: aDuration].
-
- LastTickSemaphore critical: [
- LastTick := LastTick + 1.
- ^ self todayAtNanoSeconds: LastTick offset: aDuration]
-
"
[ 10000 timesRepeat: [ self now. ] ] timeToRun / 10000.0 .
If calls to DateAndTime-c-#now are within a single millisecond the semaphore code
to ensure that (self now <= self now) slows things down considerably by a factor of about 20.
The actual speed of a single call to DateAndTime-now in milliseconds is
demonstrated by the unguarded method below.
[ 100000 timesRepeat: [ self todayAtMilliSeconds: (self milliSecondsSinceMidnight) ] ] timeToRun / 100000.0 . 0.00494 0.00481 0.00492 0.00495
"!
Item was removed:
- ----- Method: DateAndTime class>>todayAtMilliSeconds: (in category 'squeak protocol') -----
- todayAtMilliSeconds: milliSecondsSinceMidnight
- self deprecated: 'Use todayAtMilliSeconds:offset:.'.
- ^ self
- todayAtMilliSeconds: milliSecondsSinceMidnight
- offset: self localOffset!
Item was removed:
- ----- Method: DateAndTime class>>todayAtMilliSeconds:offset: (in category 'squeak protocol') -----
- todayAtMilliSeconds: milliSecondsSinceMidnight offset: aDuration
-
- "This is usually only during system startup..."
- self waitForOffsets.
-
- ^ self basicNew
- setJdn: DaysSinceEpoch
- seconds: (milliSecondsSinceMidnight // 1000)
- nano: (milliSecondsSinceMidnight \\ 1000 * 1000000 )
- offset: aDuration
-
- "
- [ 100000 timesRepeat: [ self fromMilliSeconds: self milliSecondsSinceMidnight. ] ] timeToRun.
- "!
Item was removed:
- ----- Method: DateAndTime class>>todayAtNanoSeconds: (in category 'squeak protocol') -----
- todayAtNanoSeconds: nanoSecondsSinceMidnight
- self deprecated: 'Use todayAtNanoSeconds:offset:.'.
- self
- todayAtNanoSeconds: nanoSecondsSinceMidnight
- offset: self localOffset!
Item was removed:
- ----- Method: DateAndTime class>>todayAtNanoSeconds:offset: (in category 'squeak protocol') -----
- todayAtNanoSeconds: nanoSecondsSinceMidnight offset: aDuration
-
- "This is usually only during system startup..."
- self waitForOffsets.
-
- ^ self basicNew
- setJdn: DaysSinceEpoch
- seconds: (nanoSecondsSinceMidnight // 1000000000)
- nano: (nanoSecondsSinceMidnight \\ 1000000000 )
- offset: self localOffset
- !
Item was changed:
----- Method: Integer>>asStringWithCommas (in category 'printing') -----
asStringWithCommas
"123456789 asStringWithCommas"
"-123456789 asStringWithCommas"
+ ^ self asStringWithCommasSigned: false!
- | digits |
- digits := self abs printString.
- ^ String streamContents:
- [:strm |
- self sign = -1 ifTrue: [strm nextPut: $-].
- 1 to: digits size do:
- [:i | strm nextPut: (digits at: i).
- (i < digits size and: [(i - digits size) \\ 3 = 0])
- ifTrue: [strm nextPut: $,]]]!
Item was changed:
----- Method: Integer>>asStringWithCommasSigned (in category 'printing') -----
asStringWithCommasSigned
"123456789 asStringWithCommasSigned"
"-123456789 asStringWithCommasSigned"
| digits |
+ self deprecated: 'Use #asStringWithCommasSigned:'.
digits := self abs printString.
^ String streamContents:
[:strm |
self sign = -1 ifTrue: [strm nextPut: $-] ifFalse:[strm nextPut: $+].
1 to: digits size do:
[:i | strm nextPut: (digits at: i).
(i < digits size and: [(i - digits size) \\ 3 = 0])
ifTrue: [strm nextPut: $,]]]!
Item was added:
+ ----- Method: Integer>>asStringWithCommasSigned: (in category 'printing') -----
+ asStringWithCommasSigned: aBoolean
+ "123456789 asStringWithCommasSigned: true"
+ "-123456789 asStringWithCommasSigned: false"
+ | digits |
+ digits := self abs printString.
+ ^ String streamContents:
+ [:strm |
+ self sign = -1 ifTrue: [strm nextPut: $-] ifFalse: [aBoolean ifTrue: [strm nextPut: $+]].
+ 1 to: digits size do:
+ [:i | strm nextPut: (digits at: i).
+ (i < digits size and: [(i - digits size) \\ 3 = 0])
+ ifTrue: [strm nextPut: $,]]]!
More information about the Packages
mailing list