17/05/21 11:04:40.31 NrSnEm53.net
>>523
"Pharo Smalltalk"
| queue array ans msToRun sorted |
queue := SharedQueue new.
array := (1 to: 1e3) asArray shuffled.
ans := OrderedCollection new.
(1 to: 100) detect: [:m |
msToRun := [array do: [:n | [(n * m) milliSeconds asDelay wait. queue nextPut: n] fork].
sorted := (queue next: array size) isSorted] timeToRun asMilliSeconds.
(ans add: {#m->m. #msToRun->msToRun. #sorted->sorted}) last value.
] ifNone: [].
^ans asArray
"=> {
{#m->1. #msToRun->1003. #sorted->false}.
{#m->2. #msToRun->2004. #sorted->false}.
{#m->3. #msToRun->3004. #sorted->false}.
{#m->4. #msToRun->4016. #sorted->true}}
"
URLリンク(ws.stfx.eu)