Giter VIP home page Giter VIP logo

Comments (19)

dnadales avatar dnadales commented on June 1, 2024

Using the --fast flag seems to help reducing the compilation times:

stack build --fast 434,37s user 6,39s system 103% cpu 7:04,14 total ~ 10 minutes
stack build 6136,24s user 14,22s system 100% cpu 1:42:10,15 total = 1.7 hours

However this is just a workaround and I think we should work towards improving the compilation times of TorXakis.

from torxakis.

dnadales avatar dnadales commented on June 1, 2024

I've also seen that is possible to add types to the grammar. From the happy manual:

Type signatures generally help the Haskell compiler to compile the parser faster. This is important when really large grammar files are being used.

@pjljvandelaar can't we add types to the production rules?

from torxakis.

pjljvandelaar avatar pjljvandelaar commented on June 1, 2024

The solution to pass function also need types: so I want it!

from torxakis.

pjljvandelaar avatar pjljvandelaar commented on June 1, 2024

Currently, we build everything at once.
I propose to only build haddock, when all test have passed.
I guess this will result in a speed up.

from torxakis.

keremispirli avatar keremispirli commented on June 1, 2024

@pjljvandelaar I have looked into splitting haddock build, but building haddock requires another full build which means additional ~6-10min

from torxakis.

dnadales avatar dnadales commented on June 1, 2024

Also bear in mind that the main problem is the parser, and the use of attribute grammars. We should attack the main causes of this.

from torxakis.

keremispirli avatar keremispirli commented on June 1, 2024

Replacing optimization flags in front package with -O0 brought build time down to 8 minutes.
I will trigger a benchmark this evening to see the performance impact.

from torxakis.

dnadales avatar dnadales commented on June 1, 2024

Benchmarks for latest develop without optimizations on the front.

sqatt-0.1: benchmarks
Running 1 benchmarks...
Benchmark bench: RUNNING...
benchmarking Choice/100 choices
time                 1.206 s    (1.185 s .. 1.246 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 1.192 s    (1.187 s .. 1.197 s)
std dev              8.337 ms   (0.0 s .. 8.564 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Enable/sequence of enable operators, without data
time                 1.295 s    (1.273 s .. 1.321 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 1.298 s    (1.292 s .. 1.301 s)
std dev              4.873 ms   (0.0 s .. 5.491 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Enable/sequence of enable operators, with integers
time                 3.156 s    (3.118 s .. 3.230 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 3.140 s    (3.135 s .. 3.144 s)
std dev              5.381 ms   (0.0 s .. 6.213 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Enable/sequence of enable operators, with integers and two outputs
time                 1.875 s    (1.804 s .. 1.984 s)
                     1.000 R²   (0.999 R² .. 1.000 R²)
mean                 1.865 s    (1.853 s .. 1.876 s)
std dev              17.99 ms   (0.0 s .. 18.90 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Hiding/alternate 4 hide 1 action
time                 1.229 s    (1.150 s .. 1.272 s)
                     0.999 R²   (NaN R² .. 1.000 R²)
mean                 1.239 s    (1.224 s .. 1.247 s)
std dev              13.19 ms   (0.0 s .. 14.13 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Hiding/hide first of sync first alternate
time                 1.399 s    (1.353 s .. 1.419 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 1.401 s    (1.394 s .. 1.405 s)
std dev              6.298 ms   (0.0 s .. 7.110 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Hiding/hide second of sync second alternate
time                 41.04 s    (40.69 s .. 41.31 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 41.04 s    (40.97 s .. 41.08 s)
std dev              60.84 ms   (0.0 s .. 64.69 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Hiding/match
time                 1.387 s    (1.355 s .. 1.422 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 1.383 s    (1.378 s .. 1.387 s)
std dev              6.768 ms   (0.0 s .. 7.311 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Hiding/match Int
time                 4.169 s    (4.072 s .. 4.301 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 4.177 s    (4.151 s .. 4.191 s)
std dev              22.38 ms   (0.0 s .. 23.06 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Parallel/4 parallel sequential-processes
time                 2.531 s    (2.366 s .. 2.696 s)
                     0.999 R²   (0.998 R² .. 1.000 R²)
mean                 2.560 s    (2.528 s .. 2.588 s)
std dev              43.43 ms   (0.0 s .. 47.02 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Parallel/4 parallel sequential-processes, with internal step
time                 2.525 s    (2.517 s .. 2.543 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 2.527 s    (2.524 s .. 2.530 s)
std dev              3.579 ms   (0.0 s .. 4.051 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Parallel/4 parallel sequential-processes, with alternating actions
time                 1.802 s    (1.796 s .. 1.812 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 1.798 s    (1.798 s .. 1.799 s)
std dev              465.8 us   (0.0 s .. 526.9 us)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Parallel/4 parallel sequential-processes, with multiple actions
time                 1.240 s    (1.200 s .. 1.292 s)
                     1.000 R²   (0.999 R² .. 1.000 R²)
mean                 1.227 s    (1.218 s .. 1.233 s)
std dev              9.200 ms   (0.0 s .. 10.62 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Parallel/convoluted parallel-synchronous model
time                 1.122 s    (1.070 s .. 1.165 s)
                     1.000 R²   (0.999 R² .. 1.000 R²)
mean                 1.131 s    (1.123 s .. 1.137 s)
std dev              9.138 ms   (0.0 s .. 10.35 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Parallel/4 parallel nested synchronizing sequences
time                 1.255 s    (1.213 s .. 1.314 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 1.266 s    (1.253 s .. 1.275 s)
std dev              12.96 ms   (0.0 s .. 14.96 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking RealWorld/Multiple Control Loops Stepper
time                 34.13 s    (32.87 s .. NaN s)
                     1.000 R²   (0.999 R² .. 1.000 R²)
mean                 34.24 s    (33.93 s .. 34.41 s)
std dev              274.0 ms   (0.0 s .. 305.9 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking RealWorld/Customers and Orders
time                 32.07 s    (31.89 s .. 32.32 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 32.74 s    (32.53 s .. 32.88 s)
std dev              208.4 ms   (0.0 s .. 240.7 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking RealWorld/Moving Arms
time                 12.99 s    (12.84 s .. 13.32 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 12.88 s    (12.83 s .. 12.92 s)
std dev              72.98 ms   (2.179 fs .. 76.30 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking RealWorld/Moving Arms (Purpose)
time                 1.338 s    (1.295 s .. 1.364 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 1.334 s    (1.330 s .. 1.337 s)
std dev              6.580 ms   (0.0 s .. 6.599 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Sequence/100 actions
time                 1.206 s    (1.146 s .. 1.305 s)
                     0.999 R²   (0.998 R² .. 1.000 R²)
mean                 1.199 s    (1.183 s .. 1.209 s)
std dev              15.39 ms   (0.0 s .. 17.67 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Sequence/100 internal actions
time                 1.204 s    (NaN s .. 1.214 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 1.208 s    (1.206 s .. 1.210 s)
std dev              2.978 ms   (0.0 s .. 3.397 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Sequence/100 data actions
time                 1.571 s    (1.519 s .. 1.632 s)
                     1.000 R²   (0.999 R² .. 1.000 R²)
mean                 1.556 s    (1.540 s .. 1.567 s)
std dev              15.35 ms   (0.0 s .. 17.66 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Sequence/sequence with a 10 integer channel
time                 4.683 s    (4.642 s .. 4.775 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 4.668 s    (4.661 s .. 4.673 s)
std dev              8.404 ms   (0.0 s .. 9.399 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Sequence/sequence with a 10 integer channel (cvc4)
time                 7.084 s    (7.039 s .. 7.153 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 7.112 s    (7.092 s .. 7.125 s)
std dev              20.08 ms   (0.0 s .. 23.13 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Sequence/sequence with a 10 integer channel, using a custom type
time                 5.434 s    (5.253 s .. 5.690 s)
                     1.000 R²   (0.999 R² .. 1.000 R²)
mean                 5.428 s    (5.378 s .. 5.463 s)
std dev              52.07 ms   (0.0 s .. 60.01 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Synchronization/alternate 2 processes
time                 1.211 s    (1.148 s .. 1.272 s)
                     1.000 R²   (0.999 R² .. 1.000 R²)
mean                 1.204 s    (1.190 s .. 1.211 s)
std dev              12.05 ms   (0.0 s .. 12.15 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Synchronization/3 processes
time                 1.190 s    (NaN s .. 1.262 s)
                     1.000 R²   (0.999 R² .. NaN R²)
mean                 1.210 s    (1.195 s .. 1.231 s)
std dev              18.50 ms   (0.0 s .. 20.29 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Synchronization/3 processes with internal action
time                 1.223 s    (1.172 s .. 1.293 s)
                     1.000 R²   (0.999 R² .. 1.000 R²)
mean                 1.211 s    (1.193 s .. 1.222 s)
std dev              16.67 ms   (0.0 s .. 19.15 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Synchronization/6 sequential processes synchronizing in two actions
time                 1.229 s    (1.188 s .. 1.250 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 1.217 s    (1.205 s .. 1.224 s)
std dev              10.56 ms   (0.0 s .. 12.07 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Synchronization/many processes synchronizing at the top
time                 42.07 s    (40.95 s .. 43.24 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 42.19 s    (42.04 s .. 42.32 s)
std dev              223.2 ms   (0.0 s .. 230.7 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Synchronization/many processes synchronizing in pairs
time                 2.088 s    (2.024 s .. 2.179 s)
                     1.000 R²   (0.999 R² .. 1.000 R²)
mean                 2.090 s    (2.073 s .. 2.098 s)
std dev              14.72 ms   (0.0 s .. 15.23 ms)
variance introduced by outliers: 19% (moderately inflated)

Benchmark bench: FINISH

from torxakis.

pjljvandelaar avatar pjljvandelaar commented on June 1, 2024

Do you have a graph for the two?
Thus front with -O0 and current flags?

from torxakis.

pjljvandelaar avatar pjljvandelaar commented on June 1, 2024

@Kerem Did we still optimize the c code or was -O0 the only flag

from torxakis.

keremispirli avatar keremispirli commented on June 1, 2024

@pjljvandelaar We don't optimize the C code for this; I removed all flags and added -O0.

from torxakis.

pjljvandelaar avatar pjljvandelaar commented on June 1, 2024

@keremispirli how long is the compilation time when we use -O0 and the optimization flags for the c code?
If it is still fast, this might be a better option (with respect to the final performance).

from torxakis.

keremispirli avatar keremispirli commented on June 1, 2024

@pjljvandelaar Looks like it doesn't affect build time; now it's built consistently in 6,5 min, with or without "-optc-O3 -optc-ffast-math" flags. I will start a benchmark this evening with those flags on.

from torxakis.

pjljvandelaar avatar pjljvandelaar commented on June 1, 2024

@keremispirli great

from torxakis.

dnadales avatar dnadales commented on June 1, 2024

Results using develop, without fast (so all optimizations enabled):

sqatt-0.1: benchmarks
Running 1 benchmarks...
Benchmark bench: RUNNING...
benchmarking Choice/100 choices
time                 1.180 s    (1.172 s .. 1.197 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 1.183 s    (1.180 s .. 1.184 s)
std dev              2.426 ms   (0.0 s .. 2.486 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Enable/sequence of enable operators, without data
time                 1.331 s    (1.299 s .. 1.373 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 1.309 s    (1.298 s .. 1.317 s)
std dev              12.76 ms   (0.0 s .. 14.46 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Enable/sequence of enable operators, with integers
time                 3.241 s    (3.166 s .. 3.415 s)
                     1.000 R²   (0.999 R² .. NaN R²)
mean                 3.212 s    (3.189 s .. 3.231 s)
std dev              29.89 ms   (0.0 s .. 32.61 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Enable/sequence of enable operators, with integers and two outputs
time                 1.910 s    (1.833 s .. 1.962 s)
                     1.000 R²   (0.999 R² .. 1.000 R²)
mean                 1.907 s    (1.892 s .. 1.917 s)
std dev              14.79 ms   (0.0 s .. 16.96 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Hiding/alternate 4 hide 1 action
time                 1.236 s    (1.208 s .. 1.296 s)
                     1.000 R²   (0.999 R² .. 1.000 R²)
mean                 1.220 s    (1.213 s .. 1.227 s)
std dev              11.89 ms   (0.0 s .. 12.04 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Hiding/hide first of sync first alternate
time                 1.387 s    (1.354 s .. 1.432 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 1.403 s    (1.391 s .. 1.412 s)
std dev              12.35 ms   (0.0 s .. 14.26 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Hiding/hide second of sync second alternate
time                 42.03 s    (41.21 s .. 42.56 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 42.08 s    (41.98 s .. 42.15 s)
std dev              105.3 ms   (0.0 s .. 121.0 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Hiding/match
time                 1.396 s    (1.385 s .. 1.408 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 1.391 s    (1.388 s .. 1.393 s)
std dev              3.381 ms   (0.0 s .. 3.840 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Hiding/match Int
time                 4.262 s    (4.134 s .. 4.448 s)
                     1.000 R²   (0.999 R² .. 1.000 R²)
mean                 4.291 s    (4.266 s .. 4.311 s)
std dev              31.74 ms   (0.0 s .. 35.14 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Parallel/4 parallel sequential-processes
time                 2.594 s    (2.552 s .. 2.677 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 2.549 s    (2.531 s .. 2.564 s)
std dev              23.23 ms   (0.0 s .. 25.69 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Parallel/4 parallel sequential-processes, with internal step
time                 2.622 s    (2.489 s .. 2.827 s)
                     0.999 R²   (0.998 R² .. 1.000 R²)
mean                 2.564 s    (2.533 s .. 2.589 s)
std dev              37.80 ms   (0.0 s .. 42.48 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Parallel/4 parallel sequential-processes, with alternating actions
time                 1.806 s    (1.732 s .. 1.890 s)
                     1.000 R²   (0.999 R² .. 1.000 R²)
mean                 1.795 s    (1.776 s .. 1.807 s)
std dev              19.07 ms   (0.0 s .. 22.00 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Parallel/4 parallel sequential-processes, with multiple actions
time                 1.223 s    (1.112 s .. 1.310 s)
                     0.999 R²   (0.997 R² .. 1.000 R²)
mean                 1.231 s    (1.217 s .. 1.242 s)
std dev              18.75 ms   (0.0 s .. 20.23 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Parallel/convoluted parallel-synchronous model
time                 1.116 s    (988.2 ms .. 1.279 s)
                     0.998 R²   (0.992 R² .. 1.000 R²)
mean                 1.148 s    (1.125 s .. 1.193 s)
std dev              39.56 ms   (0.0 s .. 39.66 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Parallel/4 parallel nested synchronizing sequences
time                 1.236 s    (1.191 s .. 1.284 s)
                     1.000 R²   (0.999 R² .. 1.000 R²)
mean                 1.254 s    (1.250 s .. 1.258 s)
std dev              6.390 ms   (0.0 s .. 6.454 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking RealWorld/Multiple Control Loops Stepper
time                 34.51 s    (34.30 s .. 34.80 s)
                     1.000 R²   (NaN R² .. 1.000 R²)
mean                 34.38 s    (34.32 s .. 34.44 s)
std dev              79.63 ms   (0.0 s .. 89.52 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking RealWorld/Customers and Orders
time                 32.94 s    (29.59 s .. 34.42 s)
                     0.999 R²   (0.997 R² .. 1.000 R²)
mean                 33.41 s    (32.79 s .. 33.77 s)
std dev              554.3 ms   (0.0 s .. 616.6 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking RealWorld/Moving Arms
time                 12.74 s    (12.52 s .. 12.93 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 12.73 s    (12.69 s .. 12.75 s)
std dev              39.57 ms   (0.0 s .. 44.41 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking RealWorld/Moving Arms (Purpose)
time                 1.354 s    (1.323 s .. 1.401 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 1.336 s    (1.326 s .. 1.343 s)
std dev              11.83 ms   (0.0 s .. 13.02 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Sequence/100 actions
time                 1.205 s    (1.148 s .. 1.251 s)
                     1.000 R²   (0.999 R² .. 1.000 R²)
mean                 1.215 s    (1.202 s .. 1.224 s)
std dev              13.58 ms   (0.0 s .. 15.66 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Sequence/100 internal actions
time                 1.189 s    (1.131 s .. 1.213 s)
                     1.000 R²   (0.999 R² .. 1.000 R²)
mean                 1.198 s    (1.187 s .. 1.203 s)
std dev              9.769 ms   (0.0 s .. 10.73 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Sequence/100 data actions
time                 1.552 s    (1.502 s .. 1.574 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 1.550 s    (1.542 s .. 1.556 s)
std dev              7.844 ms   (0.0 s .. 8.935 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Sequence/sequence with a 10 integer channel
time                 4.635 s    (4.588 s .. NaN s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 4.637 s    (4.626 s .. 4.645 s)
std dev              11.95 ms   (0.0 s .. 13.75 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Sequence/sequence with a 10 integer channel (cvc4)
time                 7.192 s    (7.107 s .. 7.284 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 7.173 s    (7.151 s .. 7.188 s)
std dev              22.11 ms   (0.0 s .. 25.53 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Sequence/sequence with a 10 integer channel, using a custom type
time                 5.505 s    (5.380 s .. 5.621 s)
                     1.000 R²   (NaN R² .. 1.000 R²)
mean                 5.477 s    (5.451 s .. 5.491 s)
std dev              22.76 ms   (0.0 s .. 24.46 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Synchronization/alternate 2 processes
time                 1.193 s    (1.150 s .. 1.270 s)
                     1.000 R²   (0.999 R² .. 1.000 R²)
mean                 1.201 s    (1.188 s .. 1.208 s)
std dev              11.41 ms   (0.0 s .. 11.95 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Synchronization/3 processes
time                 1.213 s    (1.178 s .. 1.275 s)
                     1.000 R²   (0.999 R² .. 1.000 R²)
mean                 1.199 s    (1.192 s .. 1.206 s)
std dev              11.89 ms   (0.0 s .. 11.96 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Synchronization/3 processes with internal action
time                 1.224 s    (1.161 s .. 1.268 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 1.203 s    (1.186 s .. 1.214 s)
std dev              16.84 ms   (0.0 s .. 19.44 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Synchronization/6 sequential processes synchronizing in two actions
time                 1.218 s    (1.116 s .. 1.331 s)
                     0.999 R²   (0.996 R² .. 1.000 R²)
mean                 1.221 s    (1.196 s .. 1.232 s)
std dev              21.50 ms   (0.0 s .. 23.04 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Synchronization/many processes synchronizing at the top
time                 41.97 s    (41.81 s .. 42.22 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 41.93 s    (41.90 s .. 41.98 s)
std dev              46.20 ms   (0.0 s .. 47.34 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Synchronization/many processes synchronizing in pairs
time                 2.085 s    (2.036 s .. 2.121 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 2.094 s    (2.086 s .. 2.100 s)
std dev              8.366 ms   (0.0 s .. 9.647 ms)
variance introduced by outliers: 19% (moderately inflated)

Benchmark bench: FINISH

from torxakis.

dnadales avatar dnadales commented on June 1, 2024

And these are the benchmarks using the current version of develop and building with the fast flag:

Registering sqatt-0.1...
sqatt-0.1: benchmarks
Running 1 benchmarks...
Benchmark bench: RUNNING...
benchmarking Choice/100 choices
time                 1.227 s    (1.144 s .. 1.294 s)
                     0.999 R²   (0.998 R² .. 1.000 R²)
mean                 1.216 s    (1.200 s .. 1.225 s)
std dev              14.37 ms   (0.0 s .. 16.43 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Enable/sequence of enable operators, without data
time                 1.343 s    (1.289 s .. 1.399 s)
                     1.000 R²   (0.999 R² .. 1.000 R²)
mean                 1.321 s    (1.299 s .. 1.332 s)
std dev              18.60 ms   (0.0 s .. 19.24 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Enable/sequence of enable operators, with integers
time                 3.183 s    (3.030 s .. 3.300 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 3.179 s    (3.157 s .. 3.195 s)
std dev              24.91 ms   (0.0 s .. 28.41 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Enable/sequence of enable operators, with integers and two outputs
time                 1.859 s    (1.754 s .. 1.933 s)
                     1.000 R²   (0.999 R² .. 1.000 R²)
mean                 1.875 s    (1.852 s .. 1.891 s)
std dev              24.92 ms   (0.0 s .. 28.48 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Hiding/alternate 4 hide 1 action
time                 1.220 s    (1.160 s .. 1.260 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 1.227 s    (1.215 s .. 1.233 s)
std dev              10.37 ms   (0.0 s .. 10.59 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Hiding/hide first of sync first alternate
time                 1.402 s    (1.349 s .. 1.495 s)
                     0.999 R²   (0.999 R² .. 1.000 R²)
mean                 1.400 s    (1.388 s .. 1.409 s)
std dev              13.75 ms   (0.0 s .. 15.47 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Hiding/hide second of sync second alternate
time                 41.44 s    (41.13 s .. 41.59 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 41.56 s    (41.48 s .. 41.60 s)
std dev              69.10 ms   (0.0 s .. 70.35 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Hiding/match
time                 1.400 s    (1.378 s .. 1.442 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 1.385 s    (1.379 s .. 1.391 s)
std dev              9.442 ms   (0.0 s .. 10.03 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Hiding/match Int
time                 4.191 s    (NaN s .. 4.336 s)
                     1.000 R²   (0.999 R² .. 1.000 R²)
mean                 4.272 s    (4.210 s .. 4.306 s)
std dev              54.67 ms   (0.0 s .. 59.15 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Parallel/4 parallel sequential-processes
time                 2.565 s    (2.393 s .. 2.689 s)
                     0.999 R²   (0.999 R² .. 1.000 R²)
mean                 2.574 s    (2.553 s .. 2.592 s)
std dev              27.98 ms   (0.0 s .. 30.69 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Parallel/4 parallel sequential-processes, with internal step
time                 2.515 s    (2.510 s .. 2.525 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 2.522 s    (2.518 s .. 2.524 s)
std dev              3.824 ms   (0.0 s .. 4.380 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Parallel/4 parallel sequential-processes, with alternating actions
time                 1.798 s    (1.613 s .. 1.951 s)
                     0.999 R²   (0.996 R² .. 1.000 R²)
mean                 1.800 s    (1.780 s .. 1.819 s)
std dev              32.63 ms   (0.0 s .. 32.83 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Parallel/4 parallel sequential-processes, with multiple actions
time                 1.239 s    (1.192 s .. 1.272 s)
                     1.000 R²   (0.999 R² .. 1.000 R²)
mean                 1.230 s    (1.221 s .. 1.235 s)
std dev              8.006 ms   (0.0 s .. 8.457 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Parallel/convoluted parallel-synchronous model
time                 1.107 s    (1.056 s .. 1.198 s)
                     0.999 R²   (0.999 R² .. 1.000 R²)
mean                 1.148 s    (1.122 s .. 1.167 s)
std dev              28.32 ms   (0.0 s .. 32.46 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Parallel/4 parallel nested synchronizing sequences
time                 1.245 s    (1.218 s .. 1.285 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 1.258 s    (1.250 s .. 1.264 s)
std dev              10.87 ms   (0.0 s .. 11.49 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking RealWorld/Multiple Control Loops Stepper
time                 35.66 s    (31.92 s .. 38.63 s)
                     0.999 R²   (0.995 R² .. 1.000 R²)
mean                 35.40 s    (34.93 s .. 35.81 s)
std dev              667.8 ms   (0.0 s .. 711.5 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking RealWorld/Customers and Orders
time                 32.02 s    (31.05 s .. 33.19 s)
                     1.000 R²   (0.999 R² .. 1.000 R²)
mean                 31.86 s    (31.55 s .. 32.04 s)
std dev              280.0 ms   (0.0 s .. 315.1 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking RealWorld/Moving Arms
time                 12.99 s    (12.00 s .. 14.38 s)
                     0.999 R²   (0.996 R² .. 1.000 R²)
mean                 12.95 s    (12.66 s .. 13.14 s)
std dev              287.0 ms   (0.0 s .. 331.3 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking RealWorld/Moving Arms (Purpose)
time                 1.346 s    (1.298 s .. 1.370 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 1.332 s    (1.318 s .. 1.340 s)
std dev              12.21 ms   (0.0 s .. 13.65 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Sequence/100 actions
time                 1.217 s    (1.123 s .. 1.302 s)
                     0.999 R²   (0.997 R² .. 1.000 R²)
mean                 1.203 s    (1.183 s .. 1.213 s)
std dev              17.27 ms   (0.0 s .. 17.28 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Sequence/100 internal actions
time                 1.186 s    (1.160 s .. 1.197 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 1.201 s    (1.193 s .. 1.205 s)
std dev              7.554 ms   (0.0 s .. 8.336 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Sequence/100 data actions
time                 1.527 s    (1.483 s .. 1.590 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 1.572 s    (1.562 s .. 1.581 s)
std dev              12.64 ms   (0.0 s .. 14.17 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Sequence/sequence with a 10 integer channel
time                 5.088 s    (4.736 s .. 5.740 s)
                     0.998 R²   (0.995 R² .. 1.000 R²)
mean                 4.879 s    (4.790 s .. 4.958 s)
std dev              130.0 ms   (0.0 s .. 137.1 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Sequence/sequence with a 10 integer channel (cvc4)
time                 7.564 s    (6.950 s .. 8.196 s)
                     0.999 R²   (0.997 R² .. 1.000 R²)
mean                 7.523 s    (7.383 s .. 7.591 s)
std dev              121.4 ms   (0.0 s .. 125.2 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Sequence/sequence with a 10 integer channel, using a custom type
time                 5.964 s    (5.671 s .. 6.570 s)
                     0.999 R²   (0.998 R² .. 1.000 R²)
mean                 5.725 s    (5.626 s .. 5.888 s)
std dev              142.2 ms   (0.0 s .. 151.0 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Synchronization/alternate 2 processes
time                 1.220 s    (1.143 s .. 1.292 s)
                     0.999 R²   (0.998 R² .. 1.000 R²)
mean                 1.207 s    (1.184 s .. 1.217 s)
std dev              19.62 ms   (0.0 s .. 20.80 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Synchronization/3 processes
time                 1.241 s    (1.238 s .. 1.242 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 1.217 s    (1.207 s .. 1.223 s)
std dev              8.854 ms   (0.0 s .. 10.03 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Synchronization/3 processes with internal action
time                 1.190 s    (1.166 s .. 1.234 s)
                     1.000 R²   (NaN R² .. 1.000 R²)
mean                 1.198 s    (1.192 s .. 1.202 s)
std dev              5.607 ms   (0.0 s .. 6.042 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Synchronization/6 sequential processes synchronizing in two actions
time                 1.225 s    (1.119 s .. 1.300 s)
                     0.999 R²   (0.997 R² .. 1.000 R²)
mean                 1.223 s    (1.212 s .. 1.233 s)
std dev              17.18 ms   (0.0 s .. 17.81 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Synchronization/many processes synchronizing at the top
time                 43.00 s    (41.55 s .. 44.54 s)
                     1.000 R²   (0.999 R² .. 1.000 R²)
mean                 42.73 s    (42.38 s .. 42.97 s)
std dev              358.9 ms   (0.0 s .. 414.0 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Synchronization/many processes synchronizing in pairs
time                 2.112 s    (2.099 s .. 2.121 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 2.102 s    (2.097 s .. 2.106 s)
std dev              5.380 ms   (0.0 s .. 6.188 ms)
variance introduced by outliers: 19% (moderately inflated)

Benchmark bench: FINISH
Completed 2 action(s).

@keremispirli I hope you have enough information to proceed now. If so I can remove myself as an assignee of this issue.

from torxakis.

keremispirli avatar keremispirli commented on June 1, 2024

Disabling optimizations for front causes a maximum of 1.56% increase of completion time in one case, while fast flag causes 5.22% maximum and 4.88%, 4.53% and 3.72% in other maximas.
These values are without C compiler optimizations for front package.

Looks like it's OK to proceed with disabling GHC optimizations while keeping C compiler optimizations, since they don't affect build time.
Benchmarks.pdf

from torxakis.

pjljvandelaar avatar pjljvandelaar commented on June 1, 2024

I propose to close this issue when we have the new parser.
Agreed?

from torxakis.

dnadales avatar dnadales commented on June 1, 2024

from torxakis.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.