This page is no longer maintained — Please continue to the home page at www.scala-lang.org

libscala: because tab is the best key

No replies
extempore
Joined: 2008-12-17,
User offline. Last seen 35 weeks 3 days ago.

Long way to go to organize several years of code, but step one.

https://github.com/paulp/libscala

Not the most useful piece, but perhaps for some the most interesting -
complete on jvm flags.

% scala -J-XX:+Trace
-J-XX:+TraceBiasedLocking -J-XX:+TraceGen0Time
-J-XX:+TraceSafepointCleanupTime
-J-XX:+TraceClassLoading -J-XX:+TraceGen1Time
-J-XX:+TraceSuperWord
-J-XX:+TraceClassLoadingPreorder -J-XX:+TraceLoaderConstraints
-J-XX:+TraceSuspendWaitFailures
-J-XX:+TraceClassResolution -J-XX:+TraceMonitorInflation
-J-XX:+TraceUncommitMemory
-J-XX:+TraceClassUnloading -J-XX:+TraceParallelOldGCTasks

See defaults (at least as recorded by me in 1.6.0_29) and mess with them:

% scala -J-XX:CMS
-J-XX:CMSAbortablePrecleanMinWorkPerIteration=100
-J-XX:CMSOldPLABToleranceFactor=4
-J-XX:CMSAbortablePrecleanWaitMillis=100
-J-XX:CMSParPromoteBlocksToClaim=16
-J-XX:CMSBitMapYieldQuantum=10485760
-J-XX:CMSPrecleanDenominator=3
-J-XX:CMSBootstrapOccupancy=50 -J-XX:CMSPrecleanIter=3
-J-XX:CMSClassUnloadingMaxInterval=0 -J-XX:CMSPrecleanNumerator=2
-J-XX:CMSConcMarkMultiple=32
-J-XX:CMSPrecleanThreshold=1000
-J-XX:CMSCoordinatorYieldSleepCount=10
-J-XX:CMSRemarkVerifyVariant=1
-J-XX:CMSExpAvgFactor=50 -J-XX:CMSRescanMultiple=32
-J-XX:CMSFullGCsBeforeCompaction=0
-J-XX:CMSRevisitStackSize=1048576
-J-XX:CMSIncrementalDutyCycle=10 -J-XX:CMSSamplingGrain=16384
-J-XX:CMSIncrementalDutyCycleMin=0
-J-XX:CMSScheduleRemarkEdenPenetration=50
-J-XX:CMSIncrementalOffset=0
-J-XX:CMSScheduleRemarkEdenSizeThreshold=2097152
-J-XX:CMSIncrementalSafetyFactor=10
-J-XX:CMSScheduleRemarkSamplingRatio=5
-J-XX:CMSIndexedFreeListReplenish=4
-J-XX:CMSSmallCoalSurplusPercent=1.050000
-J-XX:CMSInitiatingOccupancyFraction=-1
-J-XX:CMSSmallSplitSurplusPercent=1.100000
-J-XX:CMSInitiatingPermOccupancyFraction=-1 -J-XX:CMSTriggerPermRatio=80
-J-XX:CMSIsTooFullPercentage=98 -J-XX:CMSTriggerRatio=80
-J-XX:CMSLargeCoalSurplusPercent=0.950000 -J-XX:CMSWaitDuration=2000
-J-XX:CMSLargeSplitSurplusPercent=1.000000
-J-XX:CMSWorkQueueDrainThreshold=10
-J-XX:CMSMaxAbortablePrecleanLoops=0 -J-XX:CMSYieldSleepCount=0
-J-XX:CMSMaxAbortablePrecleanTime=5000
-J-XX:CMSYoungGenPerWorker=16777216
-J-XX:CMSOldPLABMax=1024 -J-XX:CMS_FLSPadding=1
-J-XX:CMSOldPLABMin=16 -J-XX:CMS_FLSWeight=75
-J-XX:CMSOldPLABNumRefills=4 -J-XX:CMS_SweepPadding=1
-J-XX:CMSOldPLABReactivityCeiling=10
-J-XX:CMS_SweepTimerThresholdMillis=10
-J-XX:CMSOldPLABReactivityFactor=2 -J-XX:CMS_SweepWeight=75

% scala -J-XX:G1
-J-XX:G1ConcRefinementGreenZone=0 -J-XX:G1RSetRegionEntries=0
-J-XX:G1ConcRefinementRedZone=0 -J-XX:G1RSetScanBlockSize=64
-J-XX:G1ConcRefinementServiceIntervalMillis=300
-J-XX:G1RSetSparseRegionEntries=0
-J-XX:G1ConcRefinementThreads=0
-J-XX:G1RSetUpdatingPauseTimePercent=10
-J-XX:G1ConcRefinementThresholdStep=0 -J-XX:G1ReservePercent=10
-J-XX:G1ConcRefinementYellowZone=0
-J-XX:G1SATBBufferEnqueueingThresholdPercent=60
-J-XX:G1ConfidencePercent=50 -J-XX:G1SATBBufferSize=1024
-J-XX:G1HeapRegionSize=0 -J-XX:G1UpdateBufferSize=256
-J-XX:G1MarkRegionStackSize=1048576

Copyright © 2012 École Polytechnique Fédérale de Lausanne (EPFL), Lausanne, Switzerland