Opened 18 months ago

Last modified 9 months ago

#13892 new task

Add some benchmarks to nofib from Andras Kovac's Eff benchmarks

Reported by: mpickering Owned by:
Priority: normal Milestone:
Component: NoFib benchmark suite Version: 8.0.1
Keywords: newcomer Cc: michalt
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: None/Unknown Test Case:
Blocked By: Blocking:
Related Tickets: Differential Rev(s):
Wiki Page:

Description

Andras has a bunch of different benchmarks for different effect handler code which stresses the optimiser in interesting ways. It would be good to add some of these benchmarks to nofib as they are likely quite different from a lot of the examples already in there.

https://github.com/AndrasKovacs/misc-stuff/tree/master/haskell/Eff

Change History (10)

comment:1 Changed 18 months ago by mpickering

Component: CompilerNoFib benchmark suite
Owner: set to mpickering

comment:2 Changed 18 months ago by simonpj

Oooohh yes please!

comment:3 Changed 17 months ago by clinton

Is there a tutorial/readme on adding benchmarks to NoFib?

comment:4 Changed 17 months ago by mpickering

clinton, you can see an example here - https://phabricator.haskell.org/D3683.

I still want to add more specific Eff benchmarks but they are a bit more difficult to add as you have to remove library dependencies by moving the relevant definitions into local files.

comment:5 Changed 16 months ago by Ben Gamari <ben@…>

In c7e6c90/nofib:

Add State monad benchmarks by Andras Kovacs

Summary:
They are originally from
https://github.com/AndrasKovacs/misc-stuff/blob/master/haskell/Eff/EffBench.hs

They show interesting interactions with call arity, spec constr and SAT.

Reviewers: O26 nofib, michalt, simonpj, bgamari

Reviewed By: bgamari

Subscribers: RyanGlScott

GHC Trac Issues: #13892

Differential Revision: https://phabricator.haskell.org/D3683

comment:6 Changed 16 months ago by bgamari

Milestone: 8.4.1
Resolution: fixed
Status: newclosed

These are now in nofib.

comment:7 Changed 16 months ago by mpickering

Owner: mpickering deleted
Resolution: fixed
Status: closednew

There are still more that can be added. The state monad ones were just the easiest to add initially.

comment:8 Changed 11 months ago by bgamari

Milestone: 8.4.18.6.1

This ticket won't be resolved in 8.4; remilestoning for 8.6. Do holler if you are affected by this or would otherwise like to work on it.

comment:9 Changed 9 months ago by mpickering

Keywords: newcomer added

There are still some benchmarks specifically to do with effect handlers which could be added but they require a bit more work to extract from the libraries.

comment:10 Changed 9 months ago by bgamari

Milestone: 8.6.1

Removing the milestone since it's unlikely to happen for 8.6.

Note: See TracTickets for help on using tickets.