[squeak-dev] A Benchmarking tool for the trunk?
Chris Muller
asqueaker at gmail.com
Sat Apr 30 16:12:26 UTC 2016
Squeak always processes command-line arguments. If the
#readDocumentAtStartup Preference in the image is set (the default),
it will treat the first image argument as a URL referring to a
Smalltalk script to execute, and the subsequent ones as arguments to
that script:
squeak -vm [vmArgs] myImage.image [urlToSmalltalkScript]
[scriptArg1 scriptArg2 ...]
There's a convenience method provides easy access to those arguments
and basic error handling for headless running via
"This code goes in a text file and referred to by the
urlToSmalltalkScript"
Smalltalk run: [ :scriptArg1 :scriptArg2 | "... your script..." ]
If readDocumentAtStartup is not set, then each image argument is
simply passed in as an Array of Strings.
squeak -vm [vmArgs] myImage.image [imageArg1 imageArg2 imageArg3 ...]
On Fri, Apr 29, 2016 at 8:45 AM, Stefan Marr <smalltalk at stefan-marr.de> wrote:
> Hi Tim:
>
>> On 29 Apr 2016, at 12:10, timfelgentreff <timfelgentreff at gmail.com> wrote:
>>
>> what does your squeak-vm.sh script do? Because on Squeak, I cannot simply
>> type --help and get output. The mailing list thread you linked refers to
>> something Pharo specific that I don’t think we have in Squeak.
>
> At least in Pharo there was/is a way to register a handler for the startup.
> SMark used to do that. It then will process the command line arguments.
>
> I don’t remember the details, sorry, and currently don’t have access to the code to check.
>
> Best regards
> Stefan
>
>>
>>
>> Stefan Marr-3 wrote
>>> Hi Tim:
>>>
>>>> On 28 Apr 2016, at 13:01, Tim Felgentreff <
>>
>>> timfelgentreff@
>>
>>> > wrote:
>>>>
>>>>> - can it be controlled from the command line?
>>>>
>>>> Yes, provided you mean "use a .st file argument". To run a benchmark
>>>> you can write e.g.
>>>> - BenchmarkAutosizeSuite run: {'BenchmarkSimpleStatisticsReporter'.
>>>> 'SMarkShootout'. 100}. # runs all shootout benchmarks for 100 outer
>>>> iterations, reporting statistics in the autosize suite
>>>> - BenchmarkCogSuite run: {'BenchmarkSimpleStatisticsReporter'.
>>>> 'SMarkShootout.benchBinaryTrees'. 100}. # runs the binarytrees
>>>> benchmarks for 100 outer iterations without autosizing, but with one
>>>> extra iteration for warmup
>>>
>>> I look at your changes to the code, but if you didn’t remove any SMark
>>> features, there is also a proper command-line interface.
>>>
>>> See:
>>> http://forum.world.st/Convention-to-build-cmd-line-interfaces-with-Pharo-td3524056.html
>>>
>>> $ squeak-vm.sh Pharo-1.2.image --help
>>> SMark Benchmark Framework, version: SMark-StefanMarr.12
>>>
>>> Usage: <vm+image> SMarkHarness [runner] [reporter]
>>> <suiteOrBenchmark>
>>>
>>> [iterations [processes [problemSize]]]
>>>
>>> Arguments:
>>> runner optional, a SMarkRunner class that executes the
>>> benchmarks
>>> reporter optional, a SMarkReporter class that processes
>>> and displays the results
>>> suiteOrBenchmark required, either a SMarkSuite with benchmarks,
>>> or a benchmark denoted by Suite.benchName
>>> iterations optional, number of times the benchmarks are repeated
>>> processes optional, number of processes/threads used by the
>>> benchmarks
>>> problemSize optional, depending on benchmark for instance number
>>> of
>>> inner iterations or size of used data set
>>>
>>>
>>> Best regards
>>> Stefan
>>>
>>> --
>>> Stefan Marr
>>> Johannes Kepler Universität Linz
>>> http://stefan-marr.de/research/
>>
>>
>>
>>
>>
>> --
>> View this message in context: http://forum.world.st/A-Benchmarking-tool-for-the-trunk-tp4892463p4892865.html
>> Sent from the Squeak - Dev mailing list archive at Nabble.com.
>
>
More information about the Squeak-dev
mailing list
|