[Chapel Merge] Chapel 2.0-compatible shootout codes

Branch: refs/heads/main
Revision: 7a20ad8c449d4f6b5498bed74517c54dc327eb27
Author: bradcray
Link: Chapel 2.0-compatible shootout codes by bradcray · Pull Request #24698 · chapel-lang/chapel · GitHub
Log Message:
Chapel 2.0-compatible shootout codes (#24698)

[short fuse, so merging without review and will ask for a post-merge review]

This PR brings the "submitted" versions of the shootouts up-to-date with
Chapel 2.0 with the intention to submit them back to the CLBG site,
which is currently working on updates.

  • updated codes w.r.t. breaking changes:
    • used explicit ref intents when passing arrays around
    • updated to new reader()/writer() interfaces
    • used read/writeBinary() rather than "native" encoding on files
    • updated to use readAll() to read all of a file into a string/bytes
    • moved away from map.items() due to instability
    • added 'hashable' interface to custom-hashed record
    • added use of 'Math' to get 'divCeilPos' and updated capitalization
  • updated bigint routines to use new standalone format rather than type
    methods
  • updated regex codes to use 'new regex()' rather than compile and
    replace() rather than sub()
    • updated a param type to support new 'lo..<hi' type inference
  • added more C pointer casting to avoid stricter handling of inter-type
    casts
    • avoided sorted() iterator
    • updated to new readLine() interfaces :cry:
  • captured current codes on website into site-2024-03-22 to support
    easy comparisons
  • updated .perfkeys files to use "count from EOF" verification to
    improve maintainability when warnings change
  • removed some explicitly non-locking fileReader/Writers when the number
    of uses of them was minimal to simplify code
  • did some minor code cleanups when the above changes led to them
  • removed all warnings from .good files
  • removed all compatibility modules that we were using to minimize diffs
    with the live site's codes
  • updated Makefile to support cleaning and building with
    --warn-unstable to take stock of stability

While here, unstable features that we're still relying on include:

  • the 'serial' statement (revcomp8.chpl)
  • 'divCeilPos()' (mandlebrot*.chpl)
  • 'DynamicIters' module (binarytrees3.chpl, fannkuchredux2.chpl,
    mandelbrot*.chpl)
  • 'Sort' module (knucleotide*.chpl)
  • 'GMP' module (pidigits4.chpl)

Compare: Comparing 1365b3bc957e617e06bafd3551c30531e479715c...5a7ce4d015d5d2a2ef9e0a8d9b11d728c272d858 · chapel-lang/chapel · GitHub

Diff:
D test/studies/shootout/submitted/Compat.chpl
D test/studies/shootout/submitted/Compat.notest
D test/studies/shootout/submitted/CompatGMP.chpl
D test/studies/shootout/submitted/CompatGMP.notest
D test/studies/shootout/submitted/CompatIOKind.chpl
D test/studies/shootout/submitted/CompatIOKind.notest
D test/studies/shootout/submitted/CompatRE2.chpl
D test/studies/shootout/submitted/CompatRE2.notest
M test/studies/shootout/submitted/Makefile
M test/studies/shootout/submitted/fasta3.chpl
M test/studies/shootout/submitted/fasta3.good
M test/studies/shootout/submitted/fasta5.chpl
M test/studies/shootout/submitted/fasta5.good
M test/studies/shootout/submitted/fasta6.chpl
M test/studies/shootout/submitted/fasta6.good
M test/studies/shootout/submitted/knucleotide3.chpl
M test/studies/shootout/submitted/knucleotide3.good
M test/studies/shootout/submitted/knucleotide4.chpl
M test/studies/shootout/submitted/knucleotide4.good
M test/studies/shootout/submitted/mandelbrot.chpl
M test/studies/shootout/submitted/mandelbrot3.chpl
M test/studies/shootout/submitted/pidigits-27-nospace.good
M test/studies/shootout/submitted/pidigits.good
M test/studies/shootout/submitted/pidigits2-27.good
M test/studies/shootout/submitted/pidigits2.chpl
M test/studies/shootout/submitted/pidigits2.good
M test/studies/shootout/submitted/pidigits2.perfkeys
M test/studies/shootout/submitted/pidigits5.chpl
M test/studies/shootout/submitted/pidigits5.perfkeys
M test/studies/shootout/submitted/regexredux2.chpl
M test/studies/shootout/submitted/regexredux2.good
M test/studies/shootout/submitted/regexredux2.perfkeys
M test/studies/shootout/submitted/regexredux3.chpl
M test/studies/shootout/submitted/regexredux3.good
M test/studies/shootout/submitted/regexredux3.perfkeys
M test/studies/shootout/submitted/revcomp3.chpl
M test/studies/shootout/submitted/revcomp3.good
M test/studies/shootout/submitted/revcomp3.perfkeys
M test/studies/shootout/submitted/revcomp5.chpl
M test/studies/shootout/submitted/revcomp5.good
M test/studies/shootout/submitted/revcomp5.perfkeys
M test/studies/shootout/submitted/revcomp8.chpl
M test/studies/shootout/submitted/revcomp8.good
A test/studies/shootout/submitted/site-2024-03-22/NOTEST
A test/studies/shootout/submitted/site-2024-03-22/binarytrees3.chpl
A test/studies/shootout/submitted/site-2024-03-22/fannkuchredux2.chpl
A test/studies/shootout/submitted/site-2024-03-22/fasta3.chpl
A test/studies/shootout/submitted/site-2024-03-22/fasta5.chpl
A test/studies/shootout/submitted/site-2024-03-22/fasta6.chpl
A test/studies/shootout/submitted/site-2024-03-22/knucleotide3.chpl
A test/studies/shootout/submitted/site-2024-03-22/knucleotide4.chpl
A test/studies/shootout/submitted/site-2024-03-22/mandelbrot.chpl
A test/studies/shootout/submitted/site-2024-03-22/mandelbrot3.chpl
A test/studies/shootout/submitted/site-2024-03-22/nbody2.chpl
A test/studies/shootout/submitted/site-2024-03-22/nbody3.chpl
A test/studies/shootout/submitted/site-2024-03-22/pidigits2.chpl
A test/studies/shootout/submitted/site-2024-03-22/pidigits4.chpl
A test/studies/shootout/submitted/site-2024-03-22/regexredux2.chpl
A test/studies/shootout/submitted/site-2024-03-22/regexredux3.chpl
A test/studies/shootout/submitted/site-2024-03-22/revcomp3.chpl
A test/studies/shootout/submitted/site-2024-03-22/revcomp5.chpl
A test/studies/shootout/submitted/site-2024-03-22/revcomp8.chpl
A test/studies/shootout/submitted/site-2024-03-22/spectralnorm.chpl
A test/studies/shootout/submitted/site-2024-03-22/spectralnorm2.chpl
M test/studies/shootout/submitted/spectralnorm.chpl
M test/studies/shootout/submitted/spectralnorm.good
M test/studies/shootout/submitted/spectralnorm.perfkeys
M test/studies/shootout/submitted/spectralnorm2.chpl
M test/studies/shootout/submitted/spectralnorm2.good
M test/studies/shootout/submitted/spectralnorm2.perfkeys
https://github.com/chapel-lang/chapel/pull/24698.diff