[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 &lt;
>>
>>> timfelgentreff@
>>
>>> &gt; 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: &lt;vm+image&gt; 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