I'm serializing about 20MB of data with Fuel and it takes about 45 seconds. Is that normal? Can anything be done to speed things up? Thanks! ----- Cheers, Sean -- View this message in context: http://forum.world.st/Fuel-Slow-tp4866161.html Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
On Tue, Dec 8, 2015 at 7:42 PM, Sean P. DeNigris <sean@clipperadams.com> wrote:
I'm serializing about 20MB of data with Fuel and it takes about 45 seconds. Is that normal?
No, it's not.
Can anything be done to speed things up?
Can I reproduce it? If true, tell me exactly how (if you give me the image and tell me which VM you used, even better). Which stream are using? Did you profile it?
Thanks!
----- Cheers, Sean -- View this message in context: http://forum.world.st/Fuel-Slow-tp4866161.html Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
-- Mariano http://marianopeck.wordpress.com
Mariano Martinez Peck wrote
Is that normal? No, it's not.
Oh good! Mariano Martinez Peck wrote
Can I reproduce it? If true, tell me exactly how (if you give me the image and tell me which VM you used, even better).
It happens consistently when I serialize via: FLSerializer serialize: anObject toFileNamed: aFileReference fullName. I can send you the image if necessary. I'll PM you if we can't figure it out. Mariano Martinez Peck wrote
Which stream are using?
Not sure. I evaluated the above line in default Pharo 4.0. Does that answer it? Mariano Martinez Peck wrote
Did you profile it?
- 41036 tallies, 41165 msec. **Tree** -------------------------------- Process: (40s) Morphic UI Process: nil -------------------------------- 90.0% {37035ms} FLSerialization>>run 78.1% {32149ms} FLSerialization>>instancesStep |75.4% {31038ms} FLPositive16SmallIntegerCluster(FLPrimitiveCluster)>>registerIndexesOn: | |65.4% {26932ms} OrderedCollection(Collection)>>asIdentitySet | | |65.4% {26932ms} IdentitySet(Collection)>>addAll: | | | 64.2% {26438ms} IdentitySet(Set)>>add: | | | |63.7% {26217ms} IdentitySet>>scanFor: | | | | 63.5% {26133ms} primitives | | | 1.1% {444ms} primitives | |10.0% {4106ms} FLPositive16SmallIntegerCluster(FLIteratingCluster)>>registerIndexesOn: | | 5.6% {2309ms} IdentitySet(Set)>>do: | | 4.2% {1720ms} FLLargeIdentityDictionary>>at:put: | | 4.2% {1716ms} primitives |1.7% {706ms} FLVariableObjectCluster(FLIteratingCluster)>>registerIndexesOn: | 1.6% {679ms} FLLargeIdentityDictionary>>at:put: 11.9% {4884ms} FLSerialization>>referencesStep 11.0% {4546ms} FLDictionaryCollectionCluster(FLAbstractCollectionCluster)>>serializeReferencesStepWith: 11.0% {4537ms} FLDictionaryCollectionCluster>>serializeReferencesOf:with: 8.2% {3383ms} FLEncoder>>encodeReferenceTo: |6.9% {2846ms} FLLargeIdentityDictionary>>at:ifAbsent: | |6.9% {2832ms} primitives |1.3% {525ms} FLIndexStream>>nextIndexPut: 2.3% {951ms} OrderedCollection(SequenceableCollection)>>allButFirst 2.3% {951ms} OrderedCollection(SequenceableCollection)>>allButFirst: 2.3% {946ms} OrderedCollection>>copyFrom:to: 2.3% {946ms} OrderedCollection>>postCopyFrom:to: 2.3% {935ms} primitives 8.8% {3641ms} FLAnalysis>>run 7.7% {3154ms} FLAnalysis>>mapAndTrace: |7.6% {3130ms} FLLightGlobalMapper>>mapAndTrace: | 7.1% {2925ms} FLLightGeneralMapper>>mapAndTrace: | 3.6% {1467ms} Dictionary>>fuelAccept: | |3.6% {1467ms} FLLightGeneralMapper>>visitDictionary: | | 3.6% {1467ms} FLLightGeneralMapper(FLMapper)>>mapAndTraceByObjectClass:to: | | 3.4% {1411ms} FLDictionaryCollectionCluster(FLIteratingCluster)>>add:traceWith: | | 2.4% {1005ms} FLDictionaryCollectionCluster(FLIteratingCluster)>>addReferenceFrom:to: | | 1.8% {754ms} FLLargeIdentityDictionary>>at:ifAbsentPut: | | 1.2% {483ms} FLLargeIdentityDictionary>>at:ifAbsent: | 1.6% {678ms} SmallInteger>>fuelAccept: | |1.6% {675ms} FLLightGeneralMapper>>visitSmallInteger: | | 1.6% {672ms} FLLightGeneralMapper(FLMapper)>>mapAndTraceByClusterName:to: | | 1.3% {516ms} FLLightGeneralMapper(FLMapper)>>clusterKeyedByClusterName: | | 1.2% {514ms} FLLightGeneralMapper(FLMapper)>>clusterKeyedByClusterName:factory: | | 1.2% {475ms} FLLightGeneralMapper(FLMapper)>>clusterInstanceOf:keyInBucket:factory: | | 1.1% {471ms} IdentityDictionary(Dictionary)>>at:ifAbsentPut: | | 1.0% {425ms} primitives | 1.3% {528ms} ByteString>>fuelAccept: | 1.2% {511ms} FLLightGeneralMapper>>visitHookPrimitive: | 1.2% {507ms} FLLightGeneralMapper(FLMapper)>>mapAndTraceByObjectClass:to: | 1.2% {476ms} FLLightGeneralMapper(FLMapper)>>clusterKeyedByObjectClass:class: | 1.1% {457ms} FLLightGeneralMapper(FLMapper)>>clusterInstanceOf:keyInBucket:factory: 1.1% {455ms} primitives **Leaves** 63.6% {26195ms} IdentitySet>>scanFor: 8.9% {3667ms} FLLargeIdentityDictionary>>at:ifAbsent: 5.9% {2434ms} FLLargeIdentityDictionary>>at:put: 5.9% {2419ms} IdentitySet(Set)>>do: 2.3% {935ms} OrderedCollection>>postCopyFrom:to: 1.4% {581ms} IdentityDictionary(Dictionary)>>at:ifAbsentPut: 1.1% {455ms} FLAnalysis>>run 1.1% {444ms} IdentitySet(Collection)>>addAll: **Memory** old +43,659,188 bytes young +3,051,820 bytes used +46,711,008 bytes free -3,959,904 bytes **GCs** full 8 totalling 2,909ms (7.0% uptime), avg 364.0ms incr 1006 totalling 2,522ms (6.0% uptime), avg 3.0ms tenures 205 (avg 4 GCs/tenure) root table 0 overflows ----- Cheers, Sean -- View this message in context: http://forum.world.st/Fuel-Slow-tp4866161p4866885.html Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
participants (2)
-
Mariano Martinez Peck -
Sean P. DeNigris