I would try logging the number of incremental and full GCs along with the failures. Just a hunch (the prim might fail for OOM).
- Bert -
On Tue, Feb 7, 2017 at 2:21 PM, Ciprian Teodorov <ciprian.teodorov@gmail.com
wrote:
interesting I have a similar behavior with your experiment with distance variations globally between 16 and 25
cheers, cip
On Tue, Feb 7, 2017 at 6:51 AM, Ben Coman btc@openinworld.com wrote:
Try the following experiment. Copy Object>>shallowCopy to Object>>monitorShallowCopy and after the pragma add... Smalltalk at: #Monitor put: #Failed.
Then in Playground... lastfail := 0. 1 to: 100000 do: [ :n | |src copy| src := Array new: n. Smalltalk at: #Monitor put: #Succeeded. copy := src monitorShallowCopy. (Smalltalk at: #Monitor) == #Failed ifTrue: [ Transcript crShow: n; tab; show: n - lastfail. lastfail := n. ]. ].
Produces the following interesting result....
RUN1...
65559 65559 67670 2111 67685 15 67700 15 67715 15 67730 15 ...