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
- used explicit
- 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
- 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)
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