Some MC tests are failing for time out reason. As shown below #allFileNames seems the main contributor...MessageTally spyOn: [MCWorkingCopyTest new setUp; testBackport; tearDown] - 10700 tallies, 10708 msec. **Tree** -------------------------------- Process: other processes -------------------------------- 2.9% {312ms} WeakArray class>>finalizationProcess -------------------------------- Process: (40s) 43306: nil -------------------------------- 47.4% {5081ms} MCWorkingCopyTest>>snapshot |47.4% {5081ms} MCWorkingCopy>>newVersion | 34.3% {3672ms} MCWorkingCopy>>newVersionWithName:message: | |31.3% {3357ms} MCVersion class>>package:info:snapshot:dependencies: | | |31.3% {3357ms} MCVersion>>initializeWithPackage:info:snapshot:dependencies: | | | 31.3% {3357ms} MCVersion>>addToCache | | | 31.3% {3355ms} MCCacheRepository(MCRepository)>>storeVersion: | | | 16.5% {1763ms} MCCacheRepository(MCRepository)>>sendNotificationsForVersion: | | | |16.5% {1763ms} MCCacheRepository(MCFileBasedRepository)>>notifyList | | | | 15.9% {1700ms} MCCacheRepository(MCDirectoryRepository)>>allFileNames | | | | 15.6% {1671ms} UnixFileDirectory(FileDirectory)>>entries | | | | 15.6% {1671ms} UnixFileDirectory(FileDirectory)>>directoryContentsFor: | | | | 15.6% {1667ms} UnixFileDirectory(FileDirectory)>>directoryContentsFor:do: | | | | 15.1% {1617ms} DirectoryEntry class>>fromArray:directory: | | | | 15.1% {1615ms} primitives | | | 14.9% {1591ms} MCCacheRepository>>basicStoreVersion: | | | 14.2% {1521ms} MCCacheRepository(MCDirectoryRepository)>>allFileNames | | | 13.9% {1493ms} UnixFileDirectory(FileDirectory)>>entries | | | 13.9% {1493ms} UnixFileDirectory(FileDirectory)>>directoryContentsFor: | | | 13.9% {1491ms} UnixFileDirectory(FileDirectory)>>directoryContentsFor:do: | | | 13.5% {1450ms} DirectoryEntry class>>fromArray:directory: | | | 13.5% {1446ms} primitives | |2.9% {305ms} MCPackage>>snapshot | | 2.8% {303ms} MCMockPackageInfo(PackageInfo)>>overriddenMethods | | 2.8% {303ms} MCMockPackageInfo(PackageInfo)>>overriddenMethodsDo: | | 2.6% {275ms} MCMockPackageInfo(PackageInfo)>>isOverrideOfYourMethod: | | 2.6% {275ms} MCMockPackageInfo(PackageInfo)>>changeRecordForOverriddenMethod: | | 2.6% {275ms} MCMockPackageInfo(PackageInfo)>>changeRecordsForMethod:do: | | 2.5% {267ms} PackageOrganizer>>packageOfMethodCategory:ofClass:ifNone: | | 2.5% {267ms} PackageInfo>>includesMethodCategory:ofClassNamed: | | 2.5% {267ms} PackageInfo>>includesClassNamed: | | 2.5% {267ms} SystemOrganizer(Categorizer)>>categoryOfElement: | | 2.5% {267ms} SystemOrganizer(Categorizer)>>numberOfCategoryOfElement: | | 1.9% {203ms} primitives | 13.2% {1409ms} MCWorkingCopy>>patchMessageSuggestion | 13.2% {1409ms} MCWorkingCopy>>patchMessageChanges | 10.1% {1084ms} MCWorkingCopy>>findSnapshotWithVersionInfo: | |10.1% {1084ms} MCRepositoryGroup>>versionWithInfo: | | 10.1% {1084ms} MCRepositoryGroup>>versionWithInfo:ifNone: | | 10.1% {1082ms} MCCacheRepository(MCRepository)>>versionWithInfo: | | 10.1% {1082ms} MCCacheRepository(MCFileBasedRepository)>>versionWithInfo:ifAbsent: | | 10.1% {1082ms} MCCacheRepository(MCFileBasedRepository)>>allFileNamesForVersionNamed: | | 10.0% {1067ms} MCCacheRepository(MCFileBasedRepository)>>readableFileNames | | 9.5% {1018ms} MCCacheRepository(MCFileBasedRepository)>>allFileNamesOrCache | | 9.5% {1018ms} MCCacheRepository(MCDirectoryRepository)>>allFileNames | | 9.4% {1002ms} UnixFileDirectory(FileDirectory)>>entries | | 9.4% {1002ms} UnixFileDirectory(FileDirectory)>>directoryContentsFor: | | 9.3% {997ms} UnixFileDirectory(FileDirectory)>>directoryContentsFor:do: | | 9.1% {973ms} DirectoryEntry class>>fromArray:directory: | 3.0% {321ms} MCPackage>>snapshot | 2.9% {305ms} MCMockPackageInfo(PackageInfo)>>overriddenMethods | 2.9% {305ms} MCMockPackageInfo(PackageInfo)>>overriddenMethodsDo: | 2.6% {283ms} MCMockPackageInfo(PackageInfo)>>isOverrideOfYourMethod: | 2.6% {283ms} MCMockPackageInfo(PackageInfo)>>changeRecordForOverriddenMethod: | 2.6% {283ms} MCMockPackageInfo(PackageInfo)>>changeRecordsForMethod:do: | 2.6% {277ms} PackageOrganizer>>packageOfMethodCategory:ofClass:ifNone: | 2.6% {277ms} PackageInfo>>includesMethodCategory:ofClassNamed: | 2.6% {277ms} PackageInfo>>includesClassNamed: | 2.6% {277ms} SystemOrganizer(Categorizer)>>categoryOfElement: | 2.6% {277ms} SystemOrganizer(Categorizer)>>numberOfCategoryOfElement: | 1.7% {183ms} primitives 22.6% {2415ms} MCWorkingCopy>>backportChangesTo: 20.2% {2162ms} MCRepositoryGroup>>versionWithInfo: |20.2% {2162ms} MCRepositoryGroup>>versionWithInfo:ifNone: | 20.2% {2162ms} MCCacheRepository(MCRepository)>>versionWithInfo: | 20.2% {2162ms} MCCacheRepository(MCFileBasedRepository)>>versionWithInfo:ifAbsent: | 20.2% {2162ms} MCCacheRepository(MCFileBasedRepository)>>allFileNamesForVersionNamed: | 19.9% {2129ms} MCCacheRepository(MCFileBasedRepository)>>readableFileNames | 19.1% {2043ms} MCCacheRepository(MCFileBasedRepository)>>allFileNamesOrCache | 19.1% {2043ms} MCCacheRepository(MCDirectoryRepository)>>allFileNames | 18.7% {2004ms} UnixFileDirectory(FileDirectory)>>entries | 18.7% {2004ms} UnixFileDirectory(FileDirectory)>>directoryContentsFor: | 18.7% {2000ms} UnixFileDirectory(FileDirectory)>>directoryContentsFor:do: | 18.2% {1945ms} DirectoryEntry class>>fromArray:directory: | 18.1% {1939ms} primitives 2.3% {246ms} MCPackageLoader class>>updatePackage:withSnapshot: 1.9% {205ms} MCPackageLoader>>updatePackage:withSnapshot: 1.9% {201ms} MCPackage>>snapshot 1.8% {195ms} MCMockPackageInfo(PackageInfo)>>overriddenMethods 1.8% {195ms} MCMockPackageInfo(PackageInfo)>>overriddenMethodsDo: 1.7% {181ms} MCMockPackageInfo(PackageInfo)>>isOverrideOfYourMethod: 1.7% {181ms} MCMockPackageInfo(PackageInfo)>>changeRecordForOverriddenMethod: 1.7% {181ms} MCMockPackageInfo(PackageInfo)>>changeRecordsForMethod:do: 1.7% {179ms} PackageOrganizer>>packageOfMethodCategory:ofClass:ifNone: 1.7% {179ms} PackageInfo>>includesMethodCategory:ofClassNamed: 1.7% {179ms} PackageInfo>>includesClassNamed: 1.7% {179ms} SystemOrganizer(Categorizer)>>categoryOfElement: 1.7% {179ms} SystemOrganizer(Categorizer)>>numberOfCategoryOfElement: 9.1% {979ms} MCWorkingCopyTest(MCTestCase)>>tearDown |9.1% {979ms} MCWorkingCopyTest>>clearPackageCache | 4.6% {489ms} UnixFileDirectory(FileDirectory)>>fileNamesMatching: | |4.5% {485ms} UnixFileDirectory(FileDirectory)>>fileNames | | 4.5% {485ms} UnixFileDirectory(FileDirectory)>>entries | | 4.5% {485ms} UnixFileDirectory(FileDirectory)>>directoryContentsFor: | | 4.5% {483ms} UnixFileDirectory(FileDirectory)>>directoryContentsFor:do: | | 4.4% {469ms} DirectoryEntry class>>fromArray:directory: | 4.5% {486ms} MCWorkingCopyTest(MCTestCase)>>clearPackageCache | 4.5% {486ms} UnixFileDirectory(FileDirectory)>>fileNamesMatching: | 4.5% {480ms} UnixFileDirectory(FileDirectory)>>fileNames | 4.5% {480ms} UnixFileDirectory(FileDirectory)>>entries | 4.5% {480ms} UnixFileDirectory(FileDirectory)>>directoryContentsFor: | 4.5% {480ms} UnixFileDirectory(FileDirectory)>>directoryContentsFor:do: | 4.4% {466ms} DirectoryEntry class>>fromArray:directory: 1.3% {139ms} MCWorkingCopyTest(MCTestCase)>>restoreMocks 1.3% {139ms} MCSnapshot>>updatePackage: 1.3% {139ms} MCPackageLoader class>>updatePackage:withSnapshot: 1.0% {108ms} MCPackageLoader>>updatePackage:withSnapshot: 9.1% {970ms} MCWorkingCopyTest>>clearPackageCache 4.5% {486ms} UnixFileDirectory(FileDirectory)>>fileNamesMatching: |4.5% {482ms} UnixFileDirectory(FileDirectory)>>fileNames | 4.5% {480ms} UnixFileDirectory(FileDirectory)>>entries | 4.5% {480ms} UnixFileDirectory(FileDirectory)>>directoryContentsFor: | 4.5% {478ms} UnixFileDirectory(FileDirectory)>>directoryContentsFor:do: | 4.4% {466ms} DirectoryEntry class>>fromArray:directory: | 4.3% {464ms} primitives 4.5% {483ms} MCWorkingCopyTest(MCTestCase)>>clearPackageCache 4.5% {483ms} UnixFileDirectory(FileDirectory)>>fileNamesMatching: 4.5% {479ms} UnixFileDirectory(FileDirectory)>>fileNames 4.5% {479ms} UnixFileDirectory(FileDirectory)>>entries 4.5% {479ms} UnixFileDirectory(FileDirectory)>>directoryContentsFor: 4.5% {479ms} UnixFileDirectory(FileDirectory)>>directoryContentsFor:do: 4.4% {471ms} DirectoryEntry class>>fromArray:directory: 6.6% {708ms} PasteUpMorph>>displayWorld 6.6% {708ms} PasteUpMorph>>privateOuterDisplayWorld 6.6% {708ms} WorldState>>displayWorld:submorphs: 6.0% {646ms} WorldState>>drawWorld:submorphs:invalidAreasOn: 5.9% {636ms} FormCanvas(Canvas)>>fullDrawMorph: 5.9% {636ms} FormCanvas(Canvas)>>fullDraw: 5.9% {636ms} PluggableSystemWindow(Morph)>>fullDrawOn: 2.8% {295ms} PluggableSystemWindow(Morph)>>drawSubmorphsOn: |2.8% {295ms} FormCanvas(Canvas)>>fullDrawMorph: | 2.8% {295ms} FormCanvas(Canvas)>>fullDraw: | 2.7% {289ms} PluggableListMorphPlus(Morph)>>fullDrawOn: | 2.0% {216ms} PluggableListMorphPlus(Morph)>>drawSubmorphsOn: | 2.0% {216ms} FormCanvas(Canvas)>>fullDrawMorph: | 2.0% {216ms} FormCanvas(Canvas)>>fullDraw: | 1.5% {159ms} PluggableTextMorphPlus(PluggableTextMorph)>>fullDrawOn: | 1.5% {157ms} PluggableTextMorphPlus(Morph)>>fullDrawOn: | 1.4% {151ms} PluggableTextMorphPlus(Morph)>>drawSubmorphsOn: | 1.4% {151ms} FormCanvas(Canvas)>>fullDrawMorph: | 1.4% {151ms} FormCanvas(Canvas)>>fullDraw: | 1.4% {151ms} TransformMorph(Morph)>>fullDrawOn: | 1.0% {110ms} TransformMorph>>drawSubmorphsOn: | 1.0% {110ms} FormCanvas(Canvas)>>fullDrawMorph: | 1.0% {110ms} FormCanvas(Canvas)>>fullDraw: | 1.0% {110ms} TextMorphForEditView(Morph)>>fullDrawOn: | 1.0% {108ms} FormCanvas(Canvas)>>drawMorph: | 1.0% {108ms} FormCanvas(Canvas)>>draw: | 1.0% {108ms} TextMorphForEditView(TextMorph)>>drawOn: | 1.0% {108ms} FormCanvas>>paragraph:bounds:color: | 1.0% {108ms} MultiNewParagraph>>displayOn:using:at: | 1.0% {108ms} MultiDisplayScanner>>displayLine:offset:leftInRun: 1.9% {199ms} PluggableSystemWindow(Morph)>>hasRolloverBorder 1.2% {132ms} FormCanvas(Canvas)>>drawMorph: 1.2% {132ms} FormCanvas(Canvas)>>draw: 1.2% {132ms} PluggableSystemWindow(Morph)>>drawOn: 1.2% {132ms} FormCanvas(Canvas)>>fillRectangle:fillStyle:borderStyle: 1.2% {128ms} FormCanvas>>fillRectangle:fillStyle: 1.2% {128ms} FormCanvas>>balloonFillRectangle:fillStyle: 1.2% {126ms} BalloonCanvas>>fillRectangle:fillStyle: 1.2% {126ms} BalloonCanvas>>drawRectangle:color:borderWidth:borderColor: 1.1% {122ms} BalloonEngine>>drawRectangle:fill:borderWidth:borderColor:transform: 1.1% {118ms} BalloonEngine>>postFlushIfNeeded 1.1% {118ms} BalloonEngine>>copyBits 1.1% {118ms} BalloonEngine>>copyLoopFaster **Leaves** 73.3% {7845ms} DirectoryEntry class>>fromArray:directory: 5.2% {558ms} SystemOrganizer(Categorizer)>>numberOfCategoryOfElement: 2.9% {312ms} WeakArray class>>finalizationProcess 2.2% {231ms} ByteString(String)>>= 1.9% {199ms} PluggableSystemWindow(Morph)>>hasRolloverBorder 1.5% {157ms} BalloonEngine>>copyLoopFaster **Memory** old -409,724 bytes young -292,264 bytes used -701,988 bytes free +370,736 bytes **GCs** full 2 totalling 241 ms (2.25% uptime), avg 120.5 ms incr 152 totalling 198 ms (1.8% uptime), avg 1.3 ms tenures 38 (avg 4 GCs/tenure) root table 0 overflows |
Has anyone else felt that opening a File browser takes a log longer
than it used to (like, earlier this year)? On Sat, Sep 21, 2013 at 3:06 PM, Nicolas Cellier <[hidden email]> wrote: > Some MC tests are failing for time out reason. > As shown below #allFileNames seems the main contributor... > > MessageTally spyOn: [MCWorkingCopyTest new setUp; testBackport; tearDown] > > > - 10700 tallies, 10708 msec. > > **Tree** > -------------------------------- > Process: other processes > -------------------------------- > 2.9% {312ms} WeakArray class>>finalizationProcess > -------------------------------- > Process: (40s) 43306: nil > -------------------------------- > 47.4% {5081ms} MCWorkingCopyTest>>snapshot > |47.4% {5081ms} MCWorkingCopy>>newVersion > | 34.3% {3672ms} MCWorkingCopy>>newVersionWithName:message: > | |31.3% {3357ms} MCVersion class>>package:info:snapshot:dependencies: > | | |31.3% {3357ms} > MCVersion>>initializeWithPackage:info:snapshot:dependencies: > | | | 31.3% {3357ms} MCVersion>>addToCache > | | | 31.3% {3355ms} MCCacheRepository(MCRepository)>>storeVersion: > | | | 16.5% {1763ms} > MCCacheRepository(MCRepository)>>sendNotificationsForVersion: > | | | |16.5% {1763ms} > MCCacheRepository(MCFileBasedRepository)>>notifyList > | | | | 15.9% {1700ms} > MCCacheRepository(MCDirectoryRepository)>>allFileNames > | | | | 15.6% {1671ms} > UnixFileDirectory(FileDirectory)>>entries > | | | | 15.6% {1671ms} > UnixFileDirectory(FileDirectory)>>directoryContentsFor: > | | | | 15.6% {1667ms} > UnixFileDirectory(FileDirectory)>>directoryContentsFor:do: > | | | | 15.1% {1617ms} DirectoryEntry > class>>fromArray:directory: > | | | | 15.1% {1615ms} primitives > | | | 14.9% {1591ms} MCCacheRepository>>basicStoreVersion: > | | | 14.2% {1521ms} > MCCacheRepository(MCDirectoryRepository)>>allFileNames > | | | 13.9% {1493ms} > UnixFileDirectory(FileDirectory)>>entries > | | | 13.9% {1493ms} > UnixFileDirectory(FileDirectory)>>directoryContentsFor: > | | | 13.9% {1491ms} > UnixFileDirectory(FileDirectory)>>directoryContentsFor:do: > | | | 13.5% {1450ms} DirectoryEntry > class>>fromArray:directory: > | | | 13.5% {1446ms} primitives > | |2.9% {305ms} MCPackage>>snapshot > | | 2.8% {303ms} MCMockPackageInfo(PackageInfo)>>overriddenMethods > | | 2.8% {303ms} > MCMockPackageInfo(PackageInfo)>>overriddenMethodsDo: > | | 2.6% {275ms} > MCMockPackageInfo(PackageInfo)>>isOverrideOfYourMethod: > | | 2.6% {275ms} > MCMockPackageInfo(PackageInfo)>>changeRecordForOverriddenMethod: > | | 2.6% {275ms} > MCMockPackageInfo(PackageInfo)>>changeRecordsForMethod:do: > | | 2.5% {267ms} > PackageOrganizer>>packageOfMethodCategory:ofClass:ifNone: > | | 2.5% {267ms} > PackageInfo>>includesMethodCategory:ofClassNamed: > | | 2.5% {267ms} PackageInfo>>includesClassNamed: > | | 2.5% {267ms} > SystemOrganizer(Categorizer)>>categoryOfElement: > | | 2.5% {267ms} > SystemOrganizer(Categorizer)>>numberOfCategoryOfElement: > | | 1.9% {203ms} primitives > | 13.2% {1409ms} MCWorkingCopy>>patchMessageSuggestion > | 13.2% {1409ms} MCWorkingCopy>>patchMessageChanges > | 10.1% {1084ms} MCWorkingCopy>>findSnapshotWithVersionInfo: > | |10.1% {1084ms} MCRepositoryGroup>>versionWithInfo: > | | 10.1% {1084ms} MCRepositoryGroup>>versionWithInfo:ifNone: > | | 10.1% {1082ms} > MCCacheRepository(MCRepository)>>versionWithInfo: > | | 10.1% {1082ms} > MCCacheRepository(MCFileBasedRepository)>>versionWithInfo:ifAbsent: > | | 10.1% {1082ms} > MCCacheRepository(MCFileBasedRepository)>>allFileNamesForVersionNamed: > | | 10.0% {1067ms} > MCCacheRepository(MCFileBasedRepository)>>readableFileNames > | | 9.5% {1018ms} > MCCacheRepository(MCFileBasedRepository)>>allFileNamesOrCache > | | 9.5% {1018ms} > MCCacheRepository(MCDirectoryRepository)>>allFileNames > | | 9.4% {1002ms} > UnixFileDirectory(FileDirectory)>>entries > | | 9.4% {1002ms} > UnixFileDirectory(FileDirectory)>>directoryContentsFor: > | | 9.3% {997ms} > UnixFileDirectory(FileDirectory)>>directoryContentsFor:do: > | | 9.1% {973ms} DirectoryEntry > class>>fromArray:directory: > | 3.0% {321ms} MCPackage>>snapshot > | 2.9% {305ms} MCMockPackageInfo(PackageInfo)>>overriddenMethods > | 2.9% {305ms} > MCMockPackageInfo(PackageInfo)>>overriddenMethodsDo: > | 2.6% {283ms} > MCMockPackageInfo(PackageInfo)>>isOverrideOfYourMethod: > | 2.6% {283ms} > MCMockPackageInfo(PackageInfo)>>changeRecordForOverriddenMethod: > | 2.6% {283ms} > MCMockPackageInfo(PackageInfo)>>changeRecordsForMethod:do: > | 2.6% {277ms} > PackageOrganizer>>packageOfMethodCategory:ofClass:ifNone: > | 2.6% {277ms} > PackageInfo>>includesMethodCategory:ofClassNamed: > | 2.6% {277ms} PackageInfo>>includesClassNamed: > | 2.6% {277ms} > SystemOrganizer(Categorizer)>>categoryOfElement: > | 2.6% {277ms} > SystemOrganizer(Categorizer)>>numberOfCategoryOfElement: > | 1.7% {183ms} primitives > 22.6% {2415ms} MCWorkingCopy>>backportChangesTo: > 20.2% {2162ms} MCRepositoryGroup>>versionWithInfo: > |20.2% {2162ms} MCRepositoryGroup>>versionWithInfo:ifNone: > | 20.2% {2162ms} MCCacheRepository(MCRepository)>>versionWithInfo: > | 20.2% {2162ms} > MCCacheRepository(MCFileBasedRepository)>>versionWithInfo:ifAbsent: > | 20.2% {2162ms} > MCCacheRepository(MCFileBasedRepository)>>allFileNamesForVersionNamed: > | 19.9% {2129ms} > MCCacheRepository(MCFileBasedRepository)>>readableFileNames > | 19.1% {2043ms} > MCCacheRepository(MCFileBasedRepository)>>allFileNamesOrCache > | 19.1% {2043ms} > MCCacheRepository(MCDirectoryRepository)>>allFileNames > | 18.7% {2004ms} UnixFileDirectory(FileDirectory)>>entries > | 18.7% {2004ms} > UnixFileDirectory(FileDirectory)>>directoryContentsFor: > | 18.7% {2000ms} > UnixFileDirectory(FileDirectory)>>directoryContentsFor:do: > | 18.2% {1945ms} DirectoryEntry > class>>fromArray:directory: > | 18.1% {1939ms} primitives > 2.3% {246ms} MCPackageLoader class>>updatePackage:withSnapshot: > 1.9% {205ms} MCPackageLoader>>updatePackage:withSnapshot: > 1.9% {201ms} MCPackage>>snapshot > 1.8% {195ms} MCMockPackageInfo(PackageInfo)>>overriddenMethods > 1.8% {195ms} MCMockPackageInfo(PackageInfo)>>overriddenMethodsDo: > 1.7% {181ms} > MCMockPackageInfo(PackageInfo)>>isOverrideOfYourMethod: > 1.7% {181ms} > MCMockPackageInfo(PackageInfo)>>changeRecordForOverriddenMethod: > 1.7% {181ms} > MCMockPackageInfo(PackageInfo)>>changeRecordsForMethod:do: > 1.7% {179ms} > PackageOrganizer>>packageOfMethodCategory:ofClass:ifNone: > 1.7% {179ms} > PackageInfo>>includesMethodCategory:ofClassNamed: > 1.7% {179ms} PackageInfo>>includesClassNamed: > 1.7% {179ms} > SystemOrganizer(Categorizer)>>categoryOfElement: > 1.7% {179ms} > SystemOrganizer(Categorizer)>>numberOfCategoryOfElement: > 9.1% {979ms} MCWorkingCopyTest(MCTestCase)>>tearDown > |9.1% {979ms} MCWorkingCopyTest>>clearPackageCache > | 4.6% {489ms} UnixFileDirectory(FileDirectory)>>fileNamesMatching: > | |4.5% {485ms} UnixFileDirectory(FileDirectory)>>fileNames > | | 4.5% {485ms} UnixFileDirectory(FileDirectory)>>entries > | | 4.5% {485ms} > UnixFileDirectory(FileDirectory)>>directoryContentsFor: > | | 4.5% {483ms} > UnixFileDirectory(FileDirectory)>>directoryContentsFor:do: > | | 4.4% {469ms} DirectoryEntry class>>fromArray:directory: > | 4.5% {486ms} MCWorkingCopyTest(MCTestCase)>>clearPackageCache > | 4.5% {486ms} UnixFileDirectory(FileDirectory)>>fileNamesMatching: > | 4.5% {480ms} UnixFileDirectory(FileDirectory)>>fileNames > | 4.5% {480ms} UnixFileDirectory(FileDirectory)>>entries > | 4.5% {480ms} > UnixFileDirectory(FileDirectory)>>directoryContentsFor: > | 4.5% {480ms} > UnixFileDirectory(FileDirectory)>>directoryContentsFor:do: > | 4.4% {466ms} DirectoryEntry class>>fromArray:directory: > 1.3% {139ms} MCWorkingCopyTest(MCTestCase)>>restoreMocks > 1.3% {139ms} MCSnapshot>>updatePackage: > 1.3% {139ms} MCPackageLoader class>>updatePackage:withSnapshot: > 1.0% {108ms} MCPackageLoader>>updatePackage:withSnapshot: > 9.1% {970ms} MCWorkingCopyTest>>clearPackageCache > 4.5% {486ms} UnixFileDirectory(FileDirectory)>>fileNamesMatching: > |4.5% {482ms} UnixFileDirectory(FileDirectory)>>fileNames > | 4.5% {480ms} UnixFileDirectory(FileDirectory)>>entries > | 4.5% {480ms} > UnixFileDirectory(FileDirectory)>>directoryContentsFor: > | 4.5% {478ms} > UnixFileDirectory(FileDirectory)>>directoryContentsFor:do: > | 4.4% {466ms} DirectoryEntry class>>fromArray:directory: > | 4.3% {464ms} primitives > 4.5% {483ms} MCWorkingCopyTest(MCTestCase)>>clearPackageCache > 4.5% {483ms} UnixFileDirectory(FileDirectory)>>fileNamesMatching: > 4.5% {479ms} UnixFileDirectory(FileDirectory)>>fileNames > 4.5% {479ms} UnixFileDirectory(FileDirectory)>>entries > 4.5% {479ms} > UnixFileDirectory(FileDirectory)>>directoryContentsFor: > 4.5% {479ms} > UnixFileDirectory(FileDirectory)>>directoryContentsFor:do: > 4.4% {471ms} DirectoryEntry class>>fromArray:directory: > 6.6% {708ms} PasteUpMorph>>displayWorld > 6.6% {708ms} PasteUpMorph>>privateOuterDisplayWorld > 6.6% {708ms} WorldState>>displayWorld:submorphs: > 6.0% {646ms} WorldState>>drawWorld:submorphs:invalidAreasOn: > 5.9% {636ms} FormCanvas(Canvas)>>fullDrawMorph: > 5.9% {636ms} FormCanvas(Canvas)>>fullDraw: > 5.9% {636ms} PluggableSystemWindow(Morph)>>fullDrawOn: > 2.8% {295ms} PluggableSystemWindow(Morph)>>drawSubmorphsOn: > |2.8% {295ms} FormCanvas(Canvas)>>fullDrawMorph: > | 2.8% {295ms} FormCanvas(Canvas)>>fullDraw: > | 2.7% {289ms} PluggableListMorphPlus(Morph)>>fullDrawOn: > | 2.0% {216ms} > PluggableListMorphPlus(Morph)>>drawSubmorphsOn: > | 2.0% {216ms} FormCanvas(Canvas)>>fullDrawMorph: > | 2.0% {216ms} FormCanvas(Canvas)>>fullDraw: > | 1.5% {159ms} > PluggableTextMorphPlus(PluggableTextMorph)>>fullDrawOn: > | 1.5% {157ms} > PluggableTextMorphPlus(Morph)>>fullDrawOn: > | 1.4% {151ms} > PluggableTextMorphPlus(Morph)>>drawSubmorphsOn: > | 1.4% {151ms} > FormCanvas(Canvas)>>fullDrawMorph: > | 1.4% {151ms} > FormCanvas(Canvas)>>fullDraw: > | 1.4% {151ms} > TransformMorph(Morph)>>fullDrawOn: > | 1.0% {110ms} > TransformMorph>>drawSubmorphsOn: > | 1.0% {110ms} > FormCanvas(Canvas)>>fullDrawMorph: > | 1.0% {110ms} > FormCanvas(Canvas)>>fullDraw: > | 1.0% {110ms} > TextMorphForEditView(Morph)>>fullDrawOn: > | 1.0% {108ms} > FormCanvas(Canvas)>>drawMorph: > | 1.0% {108ms} > FormCanvas(Canvas)>>draw: > | 1.0% {108ms} > TextMorphForEditView(TextMorph)>>drawOn: > | 1.0% {108ms} > FormCanvas>>paragraph:bounds:color: > | 1.0% {108ms} > MultiNewParagraph>>displayOn:using:at: > | 1.0% {108ms} > MultiDisplayScanner>>displayLine:offset:leftInRun: > 1.9% {199ms} PluggableSystemWindow(Morph)>>hasRolloverBorder > 1.2% {132ms} FormCanvas(Canvas)>>drawMorph: > 1.2% {132ms} FormCanvas(Canvas)>>draw: > 1.2% {132ms} PluggableSystemWindow(Morph)>>drawOn: > 1.2% {132ms} > FormCanvas(Canvas)>>fillRectangle:fillStyle:borderStyle: > 1.2% {128ms} FormCanvas>>fillRectangle:fillStyle: > 1.2% {128ms} > FormCanvas>>balloonFillRectangle:fillStyle: > 1.2% {126ms} > BalloonCanvas>>fillRectangle:fillStyle: > 1.2% {126ms} > BalloonCanvas>>drawRectangle:color:borderWidth:borderColor: > 1.1% {122ms} > BalloonEngine>>drawRectangle:fill:borderWidth:borderColor:transform: > 1.1% {118ms} > BalloonEngine>>postFlushIfNeeded > 1.1% {118ms} BalloonEngine>>copyBits > 1.1% {118ms} > BalloonEngine>>copyLoopFaster > > **Leaves** > 73.3% {7845ms} DirectoryEntry class>>fromArray:directory: > 5.2% {558ms} SystemOrganizer(Categorizer)>>numberOfCategoryOfElement: > 2.9% {312ms} WeakArray class>>finalizationProcess > 2.2% {231ms} ByteString(String)>>= > 1.9% {199ms} PluggableSystemWindow(Morph)>>hasRolloverBorder > 1.5% {157ms} BalloonEngine>>copyLoopFaster > > **Memory** > old -409,724 bytes > young -292,264 bytes > used -701,988 bytes > free +370,736 bytes > > **GCs** > full 2 totalling 241 ms (2.25% uptime), avg 120.5 ms > incr 152 totalling 198 ms (1.8% uptime), avg 1.3 ms > tenures 38 (avg 4 GCs/tenure) > root table 0 overflows > > > > |
Not specially here, [FileList2 open] timeToRun -> 349, same kind of timing with FileList 2013/9/21 Chris Muller <[hidden email]> Has anyone else felt that opening a File browser takes a log longer |
Is that for a directory with > 5K files? I'm judging my perception of
what it _used_ to be. On Sat, Sep 21, 2013 at 3:15 PM, Nicolas Cellier <[hidden email]> wrote: > Not specially here, [FileList2 open] timeToRun -> 349, same kind of timing > with FileList > > > 2013/9/21 Chris Muller <[hidden email]> >> >> Has anyone else felt that opening a File browser takes a log longer >> than it used to (like, earlier this year)? >> >> On Sat, Sep 21, 2013 at 3:06 PM, Nicolas Cellier >> <[hidden email]> wrote: >> > Some MC tests are failing for time out reason. >> > As shown below #allFileNames seems the main contributor... >> > >> > MessageTally spyOn: [MCWorkingCopyTest new setUp; testBackport; >> > tearDown] >> > >> > >> > - 10700 tallies, 10708 msec. >> > >> > **Tree** >> > -------------------------------- >> > Process: other processes >> > -------------------------------- >> > 2.9% {312ms} WeakArray class>>finalizationProcess >> > -------------------------------- >> > Process: (40s) 43306: nil >> > -------------------------------- >> > 47.4% {5081ms} MCWorkingCopyTest>>snapshot >> > |47.4% {5081ms} MCWorkingCopy>>newVersion >> > | 34.3% {3672ms} MCWorkingCopy>>newVersionWithName:message: >> > | |31.3% {3357ms} MCVersion >> > class>>package:info:snapshot:dependencies: >> > | | |31.3% {3357ms} >> > MCVersion>>initializeWithPackage:info:snapshot:dependencies: >> > | | | 31.3% {3357ms} MCVersion>>addToCache >> > | | | 31.3% {3355ms} >> > MCCacheRepository(MCRepository)>>storeVersion: >> > | | | 16.5% {1763ms} >> > MCCacheRepository(MCRepository)>>sendNotificationsForVersion: >> > | | | |16.5% {1763ms} >> > MCCacheRepository(MCFileBasedRepository)>>notifyList >> > | | | | 15.9% {1700ms} >> > MCCacheRepository(MCDirectoryRepository)>>allFileNames >> > | | | | 15.6% {1671ms} >> > UnixFileDirectory(FileDirectory)>>entries >> > | | | | 15.6% {1671ms} >> > UnixFileDirectory(FileDirectory)>>directoryContentsFor: >> > | | | | 15.6% {1667ms} >> > UnixFileDirectory(FileDirectory)>>directoryContentsFor:do: >> > | | | | 15.1% {1617ms} DirectoryEntry >> > class>>fromArray:directory: >> > | | | | 15.1% {1615ms} primitives >> > | | | 14.9% {1591ms} MCCacheRepository>>basicStoreVersion: >> > | | | 14.2% {1521ms} >> > MCCacheRepository(MCDirectoryRepository)>>allFileNames >> > | | | 13.9% {1493ms} >> > UnixFileDirectory(FileDirectory)>>entries >> > | | | 13.9% {1493ms} >> > UnixFileDirectory(FileDirectory)>>directoryContentsFor: >> > | | | 13.9% {1491ms} >> > UnixFileDirectory(FileDirectory)>>directoryContentsFor:do: >> > | | | 13.5% {1450ms} DirectoryEntry >> > class>>fromArray:directory: >> > | | | 13.5% {1446ms} primitives >> > | |2.9% {305ms} MCPackage>>snapshot >> > | | 2.8% {303ms} MCMockPackageInfo(PackageInfo)>>overriddenMethods >> > | | 2.8% {303ms} >> > MCMockPackageInfo(PackageInfo)>>overriddenMethodsDo: >> > | | 2.6% {275ms} >> > MCMockPackageInfo(PackageInfo)>>isOverrideOfYourMethod: >> > | | 2.6% {275ms} >> > MCMockPackageInfo(PackageInfo)>>changeRecordForOverriddenMethod: >> > | | 2.6% {275ms} >> > MCMockPackageInfo(PackageInfo)>>changeRecordsForMethod:do: >> > | | 2.5% {267ms} >> > PackageOrganizer>>packageOfMethodCategory:ofClass:ifNone: >> > | | 2.5% {267ms} >> > PackageInfo>>includesMethodCategory:ofClassNamed: >> > | | 2.5% {267ms} PackageInfo>>includesClassNamed: >> > | | 2.5% {267ms} >> > SystemOrganizer(Categorizer)>>categoryOfElement: >> > | | 2.5% {267ms} >> > SystemOrganizer(Categorizer)>>numberOfCategoryOfElement: >> > | | 1.9% {203ms} primitives >> > | 13.2% {1409ms} MCWorkingCopy>>patchMessageSuggestion >> > | 13.2% {1409ms} MCWorkingCopy>>patchMessageChanges >> > | 10.1% {1084ms} MCWorkingCopy>>findSnapshotWithVersionInfo: >> > | |10.1% {1084ms} MCRepositoryGroup>>versionWithInfo: >> > | | 10.1% {1084ms} MCRepositoryGroup>>versionWithInfo:ifNone: >> > | | 10.1% {1082ms} >> > MCCacheRepository(MCRepository)>>versionWithInfo: >> > | | 10.1% {1082ms} >> > MCCacheRepository(MCFileBasedRepository)>>versionWithInfo:ifAbsent: >> > | | 10.1% {1082ms} >> > MCCacheRepository(MCFileBasedRepository)>>allFileNamesForVersionNamed: >> > | | 10.0% {1067ms} >> > MCCacheRepository(MCFileBasedRepository)>>readableFileNames >> > | | 9.5% {1018ms} >> > MCCacheRepository(MCFileBasedRepository)>>allFileNamesOrCache >> > | | 9.5% {1018ms} >> > MCCacheRepository(MCDirectoryRepository)>>allFileNames >> > | | 9.4% {1002ms} >> > UnixFileDirectory(FileDirectory)>>entries >> > | | 9.4% {1002ms} >> > UnixFileDirectory(FileDirectory)>>directoryContentsFor: >> > | | 9.3% {997ms} >> > UnixFileDirectory(FileDirectory)>>directoryContentsFor:do: >> > | | 9.1% {973ms} DirectoryEntry >> > class>>fromArray:directory: >> > | 3.0% {321ms} MCPackage>>snapshot >> > | 2.9% {305ms} >> > MCMockPackageInfo(PackageInfo)>>overriddenMethods >> > | 2.9% {305ms} >> > MCMockPackageInfo(PackageInfo)>>overriddenMethodsDo: >> > | 2.6% {283ms} >> > MCMockPackageInfo(PackageInfo)>>isOverrideOfYourMethod: >> > | 2.6% {283ms} >> > MCMockPackageInfo(PackageInfo)>>changeRecordForOverriddenMethod: >> > | 2.6% {283ms} >> > MCMockPackageInfo(PackageInfo)>>changeRecordsForMethod:do: >> > | 2.6% {277ms} >> > PackageOrganizer>>packageOfMethodCategory:ofClass:ifNone: >> > | 2.6% {277ms} >> > PackageInfo>>includesMethodCategory:ofClassNamed: >> > | 2.6% {277ms} PackageInfo>>includesClassNamed: >> > | 2.6% {277ms} >> > SystemOrganizer(Categorizer)>>categoryOfElement: >> > | 2.6% {277ms} >> > SystemOrganizer(Categorizer)>>numberOfCategoryOfElement: >> > | 1.7% {183ms} primitives >> > 22.6% {2415ms} MCWorkingCopy>>backportChangesTo: >> > 20.2% {2162ms} MCRepositoryGroup>>versionWithInfo: >> > |20.2% {2162ms} MCRepositoryGroup>>versionWithInfo:ifNone: >> > | 20.2% {2162ms} MCCacheRepository(MCRepository)>>versionWithInfo: >> > | 20.2% {2162ms} >> > MCCacheRepository(MCFileBasedRepository)>>versionWithInfo:ifAbsent: >> > | 20.2% {2162ms} >> > MCCacheRepository(MCFileBasedRepository)>>allFileNamesForVersionNamed: >> > | 19.9% {2129ms} >> > MCCacheRepository(MCFileBasedRepository)>>readableFileNames >> > | 19.1% {2043ms} >> > MCCacheRepository(MCFileBasedRepository)>>allFileNamesOrCache >> > | 19.1% {2043ms} >> > MCCacheRepository(MCDirectoryRepository)>>allFileNames >> > | 18.7% {2004ms} >> > UnixFileDirectory(FileDirectory)>>entries >> > | 18.7% {2004ms} >> > UnixFileDirectory(FileDirectory)>>directoryContentsFor: >> > | 18.7% {2000ms} >> > UnixFileDirectory(FileDirectory)>>directoryContentsFor:do: >> > | 18.2% {1945ms} DirectoryEntry >> > class>>fromArray:directory: >> > | 18.1% {1939ms} primitives >> > 2.3% {246ms} MCPackageLoader class>>updatePackage:withSnapshot: >> > 1.9% {205ms} MCPackageLoader>>updatePackage:withSnapshot: >> > 1.9% {201ms} MCPackage>>snapshot >> > 1.8% {195ms} MCMockPackageInfo(PackageInfo)>>overriddenMethods >> > 1.8% {195ms} >> > MCMockPackageInfo(PackageInfo)>>overriddenMethodsDo: >> > 1.7% {181ms} >> > MCMockPackageInfo(PackageInfo)>>isOverrideOfYourMethod: >> > 1.7% {181ms} >> > MCMockPackageInfo(PackageInfo)>>changeRecordForOverriddenMethod: >> > 1.7% {181ms} >> > MCMockPackageInfo(PackageInfo)>>changeRecordsForMethod:do: >> > 1.7% {179ms} >> > PackageOrganizer>>packageOfMethodCategory:ofClass:ifNone: >> > 1.7% {179ms} >> > PackageInfo>>includesMethodCategory:ofClassNamed: >> > 1.7% {179ms} PackageInfo>>includesClassNamed: >> > 1.7% {179ms} >> > SystemOrganizer(Categorizer)>>categoryOfElement: >> > 1.7% {179ms} >> > SystemOrganizer(Categorizer)>>numberOfCategoryOfElement: >> > 9.1% {979ms} MCWorkingCopyTest(MCTestCase)>>tearDown >> > |9.1% {979ms} MCWorkingCopyTest>>clearPackageCache >> > | 4.6% {489ms} UnixFileDirectory(FileDirectory)>>fileNamesMatching: >> > | |4.5% {485ms} UnixFileDirectory(FileDirectory)>>fileNames >> > | | 4.5% {485ms} UnixFileDirectory(FileDirectory)>>entries >> > | | 4.5% {485ms} >> > UnixFileDirectory(FileDirectory)>>directoryContentsFor: >> > | | 4.5% {483ms} >> > UnixFileDirectory(FileDirectory)>>directoryContentsFor:do: >> > | | 4.4% {469ms} DirectoryEntry class>>fromArray:directory: >> > | 4.5% {486ms} MCWorkingCopyTest(MCTestCase)>>clearPackageCache >> > | 4.5% {486ms} UnixFileDirectory(FileDirectory)>>fileNamesMatching: >> > | 4.5% {480ms} UnixFileDirectory(FileDirectory)>>fileNames >> > | 4.5% {480ms} UnixFileDirectory(FileDirectory)>>entries >> > | 4.5% {480ms} >> > UnixFileDirectory(FileDirectory)>>directoryContentsFor: >> > | 4.5% {480ms} >> > UnixFileDirectory(FileDirectory)>>directoryContentsFor:do: >> > | 4.4% {466ms} DirectoryEntry class>>fromArray:directory: >> > 1.3% {139ms} MCWorkingCopyTest(MCTestCase)>>restoreMocks >> > 1.3% {139ms} MCSnapshot>>updatePackage: >> > 1.3% {139ms} MCPackageLoader class>>updatePackage:withSnapshot: >> > 1.0% {108ms} MCPackageLoader>>updatePackage:withSnapshot: >> > 9.1% {970ms} MCWorkingCopyTest>>clearPackageCache >> > 4.5% {486ms} UnixFileDirectory(FileDirectory)>>fileNamesMatching: >> > |4.5% {482ms} UnixFileDirectory(FileDirectory)>>fileNames >> > | 4.5% {480ms} UnixFileDirectory(FileDirectory)>>entries >> > | 4.5% {480ms} >> > UnixFileDirectory(FileDirectory)>>directoryContentsFor: >> > | 4.5% {478ms} >> > UnixFileDirectory(FileDirectory)>>directoryContentsFor:do: >> > | 4.4% {466ms} DirectoryEntry class>>fromArray:directory: >> > | 4.3% {464ms} primitives >> > 4.5% {483ms} MCWorkingCopyTest(MCTestCase)>>clearPackageCache >> > 4.5% {483ms} UnixFileDirectory(FileDirectory)>>fileNamesMatching: >> > 4.5% {479ms} UnixFileDirectory(FileDirectory)>>fileNames >> > 4.5% {479ms} UnixFileDirectory(FileDirectory)>>entries >> > 4.5% {479ms} >> > UnixFileDirectory(FileDirectory)>>directoryContentsFor: >> > 4.5% {479ms} >> > UnixFileDirectory(FileDirectory)>>directoryContentsFor:do: >> > 4.4% {471ms} DirectoryEntry class>>fromArray:directory: >> > 6.6% {708ms} PasteUpMorph>>displayWorld >> > 6.6% {708ms} PasteUpMorph>>privateOuterDisplayWorld >> > 6.6% {708ms} WorldState>>displayWorld:submorphs: >> > 6.0% {646ms} WorldState>>drawWorld:submorphs:invalidAreasOn: >> > 5.9% {636ms} FormCanvas(Canvas)>>fullDrawMorph: >> > 5.9% {636ms} FormCanvas(Canvas)>>fullDraw: >> > 5.9% {636ms} PluggableSystemWindow(Morph)>>fullDrawOn: >> > 2.8% {295ms} >> > PluggableSystemWindow(Morph)>>drawSubmorphsOn: >> > |2.8% {295ms} FormCanvas(Canvas)>>fullDrawMorph: >> > | 2.8% {295ms} FormCanvas(Canvas)>>fullDraw: >> > | 2.7% {289ms} >> > PluggableListMorphPlus(Morph)>>fullDrawOn: >> > | 2.0% {216ms} >> > PluggableListMorphPlus(Morph)>>drawSubmorphsOn: >> > | 2.0% {216ms} FormCanvas(Canvas)>>fullDrawMorph: >> > | 2.0% {216ms} FormCanvas(Canvas)>>fullDraw: >> > | 1.5% {159ms} >> > PluggableTextMorphPlus(PluggableTextMorph)>>fullDrawOn: >> > | 1.5% {157ms} >> > PluggableTextMorphPlus(Morph)>>fullDrawOn: >> > | 1.4% {151ms} >> > PluggableTextMorphPlus(Morph)>>drawSubmorphsOn: >> > | 1.4% {151ms} >> > FormCanvas(Canvas)>>fullDrawMorph: >> > | 1.4% {151ms} >> > FormCanvas(Canvas)>>fullDraw: >> > | 1.4% {151ms} >> > TransformMorph(Morph)>>fullDrawOn: >> > | 1.0% {110ms} >> > TransformMorph>>drawSubmorphsOn: >> > | 1.0% {110ms} >> > FormCanvas(Canvas)>>fullDrawMorph: >> > | 1.0% {110ms} >> > FormCanvas(Canvas)>>fullDraw: >> > | 1.0% {110ms} >> > TextMorphForEditView(Morph)>>fullDrawOn: >> > | 1.0% {108ms} >> > FormCanvas(Canvas)>>drawMorph: >> > | 1.0% {108ms} >> > FormCanvas(Canvas)>>draw: >> > | 1.0% {108ms} >> > TextMorphForEditView(TextMorph)>>drawOn: >> > | 1.0% {108ms} >> > FormCanvas>>paragraph:bounds:color: >> > | 1.0% {108ms} >> > MultiNewParagraph>>displayOn:using:at: >> > | 1.0% {108ms} >> > MultiDisplayScanner>>displayLine:offset:leftInRun: >> > 1.9% {199ms} >> > PluggableSystemWindow(Morph)>>hasRolloverBorder >> > 1.2% {132ms} FormCanvas(Canvas)>>drawMorph: >> > 1.2% {132ms} FormCanvas(Canvas)>>draw: >> > 1.2% {132ms} PluggableSystemWindow(Morph)>>drawOn: >> > 1.2% {132ms} >> > FormCanvas(Canvas)>>fillRectangle:fillStyle:borderStyle: >> > 1.2% {128ms} FormCanvas>>fillRectangle:fillStyle: >> > 1.2% {128ms} >> > FormCanvas>>balloonFillRectangle:fillStyle: >> > 1.2% {126ms} >> > BalloonCanvas>>fillRectangle:fillStyle: >> > 1.2% {126ms} >> > BalloonCanvas>>drawRectangle:color:borderWidth:borderColor: >> > 1.1% {122ms} >> > BalloonEngine>>drawRectangle:fill:borderWidth:borderColor:transform: >> > 1.1% {118ms} >> > BalloonEngine>>postFlushIfNeeded >> > 1.1% {118ms} BalloonEngine>>copyBits >> > 1.1% {118ms} >> > BalloonEngine>>copyLoopFaster >> > >> > **Leaves** >> > 73.3% {7845ms} DirectoryEntry class>>fromArray:directory: >> > 5.2% {558ms} SystemOrganizer(Categorizer)>>numberOfCategoryOfElement: >> > 2.9% {312ms} WeakArray class>>finalizationProcess >> > 2.2% {231ms} ByteString(String)>>= >> > 1.9% {199ms} PluggableSystemWindow(Morph)>>hasRolloverBorder >> > 1.5% {157ms} BalloonEngine>>copyLoopFaster >> > >> > **Memory** >> > old -409,724 bytes >> > young -292,264 bytes >> > used -701,988 bytes >> > free +370,736 bytes >> > >> > **GCs** >> > full 2 totalling 241 ms (2.25% uptime), avg 120.5 ms >> > incr 152 totalling 198 ms (1.8% uptime), avg 1.3 ms >> > tenures 38 (avg 4 GCs/tenure) >> > root table 0 overflows >> > >> > >> > >> > >> > |
Free forum by Nabble | Edit this page |