Ciao, About Hilaire:
> Beside the browser windows, did you close all Transcript windows? Yes. > Hi, > > I am confused by what you are reporting. I apologize, i'm trying to understand better. > > If you add 10.000 entries to the Transcript, then I don't see how that > results in 1000s of those Strings being alive (and certainly not after a GC). > > I tried the following (both with the Transcript window open and closed): > > Transcript. > Transcript open. > Transcript clear. > > 1 to: 1e4 do: [ :each | > Transcript crShow: DateAndTime now asString , ' MARKTEST ' , each asString ]. > > 3 timesRepeat: [ Smalltalk garbageCollect ]. > > [ | count | > count := 0. > String allSubInstancesDo: [ :each | > (each includesSubstring: 'MARKTEST') ifTrue: [ count := count + 1 ] ]. > count ] value. I did some tests following the code you reported. The thing I noticed is that the image size after some entry, from 144MB is splashed at 272MB. +10 MB at each step: 1 to: 1e4 do: [ :each | Transcript crShow: DateAndTime now asString , ' MARKTEST ' , each asString ]. > > The count never went above 100. I am using Pharo 8 but 7 would be similar. > > If you are retaining so many of the messages that you wrote to the > Transcript, then you must be doing something else. I haven't been able to document it for now, but I had the feeling that the following code creates problems: testImageSizeCreateTranscriptEntryB " Create some transcript entry " | count | count := 0. [ 1 to: 1e4 do:[ :each | [ Transcript crShow: DateAndTime now asString, ' DARIOTEST ', each asString. 1 / ( 0 to: 10 ) atRandom ] on: Error do:[ :ex | count := count +1. ex retry ] ] ]value. ^ count Could it be that the retry creates, has created problems? Thanks, Dario > > That being said, we do have an issue with the WriteStream held by the stream > instance variable inside ThreadSafeTranscript. It is being reset from time to > time and when #clear is called, but that does not bring down the size of the > underlying collection below its 'one time peak'. > > Sven > >> On 8 Mar 2019, at 11:59, Trussardi Dario Romano <dario.trussa...@tiscali.it> >> wrote: >> >> Ciao, >> >> this morning i started with an image of about 240 MB. >> >> I have 3 System Browser open ( for a long time ). >> >> I close all the System Browser and save the image. >> >> The image size after the save is about 131 MB. >> >> The new SpaceTally printSpaceAnalysis report: >> >> Class code space # instances inst >> space percent inst average size >> Array 4115 561766 >> 37353480 25.60 66.49 >> ByteString 2942 249761 >> 31313136 21.50 125.37 >> >> >> The Transcript entry reference basically does not change: >> >> ByteString allInstances select:[ :i | i includesSubstring: >> 'NETWORK' ] >> >> where 'NETWORK' is a string used in the methods to add >> Transcript entry Transcript show: ...... NETWORK' ......' . >> >> >> The system found 2958 ByteString instances.... ( >> relative to the NETWORK ) >> >> The system found 22655 ByteString instances.... ( >> relative to the CASH ) >> >> >> Why are there many references in the system to the ByteString >> instances, created in the methods to report the data in Transcript ? >> >> Someone to considerations ? >> >> Thanks, >> >> Dario >> >>> Ciao, >>> >>> I thought that using Transcript as a report to analyze the operation of >>> the code was a good thing - solution. >>> >>> Unfortunately, however, the size of the image continues to increase ( >>> and I think it's due to the use of the transcript ) >>> >>> and i can not find the solution to avoid the problem. >>> >>> I could create a file to report everything about the operations code, >>> but then it becomes difficult to manage, or am i wrong? >>> >>> Other solutions - indications - references ? >>> >>> Thanks, >>> >>> Dario >>> >>>> Ciao, >>>> >>>> thanks. >>>> >>>> i have a Pharo 7.0 alpha build 1262. >>>> >>>> I development a Seaside application. >>>> >>>>> May be you have a lot of still open Seaside session, which if I remember >>>>> correctly are automatically shutdown after 10 min when not active. >>>>> >>>>> Looking at Seaside session instances may give clue. >>>> >>>> OK, i clear the seaside session with the relative seaside status >>>> Clear action. >>>> >>>> >>>> >>>> But the image size keeps increasing, without an apparent reason. >>>> >>>> The consideration that I can do and that in the method code i often use >>>> Transcript show: '.....NETWORK | CASH | .....' to check the correct >>>> functioning. >>>> >>>> With the SpaceTally printSpaceAnalysis i note: >>>> >>>> as of February 16th: >>>> >>>> Class code space # in stances >>>> inst space percent inst average size >>>> Array 4115 >>>> 656764 43904528 23.30 66.85 >>>> ByteString 2942 >>>> 233871 27527272 14.60 117.70 >>>> >>>> >>>> as of March 4th >>>> Class code space # instances >>>> inst space percent inst average size >>>> Array 4115 837017 >>>> 50564552 23.40 60.41 >>>> ByteString 2942 >>>> 266620 31933216 14.80 119.77 >>>> >>>> Now i do: >>>> >>>> ByteString allInstances select:[ :i | i >>>> includesSubstring: 'NETWORK' ] >>>> >>>> where 'NETWORK' is a string used in the Transcript show: ...... >>>> NETWORK' ......' report entry. >>>> >>>> >>>> The system found 3214 ByteString instances.... ( relative to >>>> the NETWORK ) >>>> >>>> The system found 22650 ByteString instances.... ( >>>> relative to the CASH ) >>>> >>>> The system found .............. >>>> >>>> >>>> Because ????? >>>> >>>> >>>> Does the system remember something about the string >>>> create for the Transcript show: entry ? >>>> >>>> I need to reset something? >>>> >>>> How can I analyze the situation? >>>> >>>> I follow some aByteString entry with the >>>> pointersTo method >>>> >>>> but for now I have not found the solution. >>>> >>>> >>>> >>>> Thanks, >>>> >>>> Dario >>>> >>>> >>> >>> >> >> > >