Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ocaml5-issue] General Cygwin slowness #384

Closed
jmid opened this issue Aug 18, 2023 · 2 comments
Closed

[ocaml5-issue] General Cygwin slowness #384

jmid opened this issue Aug 18, 2023 · 2 comments
Labels
ocaml5-issue A potential issue in the OCaml5 compiler/runtime

Comments

@jmid
Copy link
Collaborator

jmid commented Aug 18, 2023

The Windows Cygwin port is slow, to the point that the test suite has been split up into 2 workflows.
Despite this effort, we are regularly seeing 6 hour timeouts in one of these two workflow parts.
For comparison here are the times ("Total duration" as reported by GitHub) for the most recent 3 runs of 5.10* following the merge of #381, #375, #377:

Linux:
 40m 14s
 30m 32s
 33m 58s

macOS 
 35m 40s
 36m 51s
 30m 20s

Windows MingW
 1h 27m 38s
 1h 35m 45s
 1h 24m 1s

Windows Cygwin
 10h 0m 43s -- 6h 0m 8s*  + 4h 0m 9s
  9h 3m 55s -- 4h 36m 43s + 4h 26m 46s
  8h 1m 25s -- 4h 24m 2s  + 3h 34m 12s

*timeout

For the recent 6h part 1 timeout, here's a summary of the 5 Cygwin tests taking +1000s and thus are the primary contributors:
https://github.com/ocaml-multicore/multicoretests/actions/runs/5888043978/job/15968482527

1059.6s STM Ephemeron test parallel
1736.2s Lin DSL Atomic test with Domain
1027.1s Lin DSL Hashtbl test with Domain
1980.6s Lin DSL Bytes test with Domain
1772.1s Lin DSL Out_channel test with Domain

Of these, number 2 and 4 are positive tests completing 1000 test repetitions, and number 1,3, and 5 are negative tests that finds an expected counter example within 60-70s and spends the remaining time shrinking it.

@jmid
Copy link
Collaborator Author

jmid commented Oct 12, 2023

On the merge of 0.3 to main Cygwin trunk / part1 timeout primarily caused by a 7495.8s domain_spawntree - with Atomic - but with other +1000s tests as well:
https://github.com/ocaml-multicore/multicoretests/actions/runs/6483174710/job/17604168507

random seed: 440246977
generated error fail pass / total     time test name

[ ]    0    0    0    0 /  100     0.0s domain_spawntree - with Atomic
[ ]    0    0    0    0 /  100     0.0s domain_spawntree - with Atomic (generating)
[ ]    3    0    0    3 /  100   466.0s domain_spawntree - with Atomic
[ ]   15    0    0   15 /  100  1073.2s domain_spawntree - with Atomic
[ ]   16    0    0   16 /  100  2195.1s domain_spawntree - with Atomic
[ ]   20    0    0   20 /  100  2289.6s domain_spawntree - with Atomic
[ ]   26    0    0   26 /  100  3372.2s domain_spawntree - with Atomic
[ ]   28    0    0   28 /  100  3635.7s domain_spawntree - with Atomic
[ ]   29    0    0   29 /  100  3852.4s domain_spawntree - with Atomic
[ ]   30    0    0   30 /  100  4204.4s domain_spawntree - with Atomic
[ ]   34    0    0   34 /  100  4455.4s domain_spawntree - with Atomic
[ ]   36    0    0   36 /  100  4741.2s domain_spawntree - with Atomic
[ ]   39    0    0   39 /  100  5011.1s domain_spawntree - with Atomic
[ ]   47    0    0   47 /  100  5473.3s domain_spawntree - with Atomic
[ ]   53    0    0   53 /  100  5808.8s domain_spawntree - with Atomic
[ ]   72    0    0   72 /  100  6199.0s domain_spawntree - with Atomic
[ ]   77    0    0   77 /  100  6744.6s domain_spawntree - with Atomic
[ ]   85    0    0   85 /  100  6966.7s domain_spawntree - with Atomic
[ ]   86    0    0   86 /  100  7336.5s domain_spawntree - with Atomic
[ ]   88    0    0   88 /  100  7479.2s domain_spawntree - with Atomic
[✓]  100    0    0  100 /  100  7495.8s domain_spawntree - with Atomic
================================================================================
success (ran 1 tests)

@jmid
Copy link
Collaborator Author

jmid commented Dec 20, 2023

Closing this since Cygwin speed has picked up, culminating in #420 that merged the 2-split workflow into one that completes in under 2h.

@jmid jmid closed this as completed Dec 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ocaml5-issue A potential issue in the OCaml5 compiler/runtime
Projects
None yet
Development

No branches or pull requests

1 participant