sgraf (Sebastian Graf)
User

Projects

User does not belong to any projects.

User Details

User Since
Apr 12 2017, 7:08 AM (97 w, 2 d)

Recent Activity

Sat, Jan 26

sgraf committed rNOFIB7a702cc1f4c0: Add sgraf812 and bgamari as CODEOWNERS (authored by sgraf).
Add sgraf812 and bgamari as CODEOWNERS
Sat, Jan 26, 12:00 PM

Jan 16 2019

sgraf committed rNOFIBb760674c194a: READE.md: Move `cabal install` instructions (authored by sgraf).
READE.md: Move `cabal install` instructions
Jan 16 2019, 4:11 AM
sgraf committed rNOFIB271dc00f7442: Stabilise gen_regexp again (authored by sgraf).
Stabilise gen_regexp again
Jan 16 2019, 3:58 AM
sgraf committed rNOFIBc20122e0188b: Mention symlink situation on Git for Windows in README.md (authored by sgraf).
Mention symlink situation on Git for Windows in README.md
Jan 16 2019, 3:44 AM

Jan 15 2019

sgraf committed rNOFIB6cfa09804f79: Re-enable cacheprof (authored by sgraf).
Re-enable cacheprof
Jan 15 2019, 10:28 AM
sgraf committed rNOFIBcc8fc601f886: Make `git clean -nxd` silent after `make distclean` (authored by sgraf).
Make `git clean -nxd` silent after `make distclean`
Jan 15 2019, 7:18 AM
sgraf committed rNOFIB8a85944c3456: READE.md: Move `cabal install` instructions (authored by sgraf).
READE.md: Move `cabal install` instructions
Jan 15 2019, 6:29 AM

Jan 11 2019

sgraf committed rNOFIBe1b0cfad28e1: Stabilise gen_regexp again (authored by sgraf).
Stabilise gen_regexp again
Jan 11 2019, 4:30 AM
sgraf committed rNOFIB43d347f38de5: Mention symlink situation on Git for Windows in README.md (authored by sgraf).
Mention symlink situation on Git for Windows in README.md
Jan 11 2019, 3:49 AM

Jan 9 2019

sgraf committed rNOFIB651416b0b319: Stabilise benchmarks wrt. GC (authored by sgraf).
Stabilise benchmarks wrt. GC
Jan 9 2019, 12:45 PM
sgraf committed rNOFIB626289f56dad: Re-enable cacheprof (authored by sgraf).
Re-enable cacheprof
Jan 9 2019, 7:54 AM

Jan 8 2019

sgraf committed rNOFIB58f710d16296: Make `git clean -nxd` silent after `make distclean` (authored by sgraf).
Make `git clean -nxd` silent after `make distclean`
Jan 8 2019, 7:19 AM

Jan 2 2019

sgraf added a comment to D5469: Compare results of compress by hashing.
Are you following https://gitlab.haskell.org/ghc/nofib?

I wasn’t (am now) but the other sources are mirrored, so that is not the problem. The above log was for

commit d2a0f3ab8438b80663f7977bb6b474c02baffa5c
Author: Peter Trommler <ptrommler@acm.org>
Date:   Mon Dec 31 16:46:22 2018 +0100

    Rewrite comment on C calling convention
Jan 2 2019, 3:16 AM

Jan 1 2019

sgraf added a comment to D5469: Compare results of compress by hashing.

That's strange. Are you following https://gitlab.haskell.org/ghc/nofib? Because CI there went green just today for make mode=fast. In addition to compress, I also had to fix compress2 but that's about it. The boot failures in particular should be gone.

Jan 1 2019, 4:39 PM
sgraf committed rNOFIBe2d614e40e8b: Disable timer-based context switches (authored by sgraf).
Disable timer-based context switches
Jan 1 2019, 12:02 PM
sgraf committed rNOFIB95c1dccbcaba: Replace mentions of {-# STRICT -#} with bangs in compress2 (authored by sgraf).
Replace mentions of {-# STRICT -#} with bangs in compress2
Jan 1 2019, 11:28 AM
sgraf committed rNOFIBc3acdcc648b5: Compare output of compress2 by hashing (authored by sgraf).
Compare output of compress2 by hashing
Jan 1 2019, 11:28 AM
sgraf committed rNOFIBe1869fd38966: Add continuous integration support (authored by bgamari).
Add continuous integration support
Jan 1 2019, 11:28 AM

Dec 31 2018

sgraf committed rNOFIB0f7f176de8e0: Add continuous integration support (authored by bgamari).
Add continuous integration support
Dec 31 2018, 10:49 AM
sgraf committed rNOFIB70b59f3dee53: Replace mentions of {-# STRICT -#} with bangs in compress2 (authored by sgraf).
Replace mentions of {-# STRICT -#} with bangs in compress2
Dec 31 2018, 4:15 AM
sgraf committed rNOFIB632f33f0ade1: Compare output of compress2 by hashing (authored by sgraf).
Compare output of compress2 by hashing
Dec 31 2018, 4:15 AM
sgraf committed rNOFIB2c6e793c4dbe: Compare output of compress2 by hashing (authored by sgraf).
Compare output of compress2 by hashing
Dec 31 2018, 4:03 AM

Dec 30 2018

sgraf abandoned D5438: Stabilise benchmarks wrt. GC.

Superseded by https://gitlab.haskell.org/ghc/nofib/merge_requests/5.

Dec 30 2018, 12:52 PM
sgraf abandoned D5468: Stabilise benchmarks wrt. GC, part 2.

Superseded by https://gitlab.haskell.org/ghc/nofib/merge_requests/5.

Dec 30 2018, 12:51 PM
sgraf added a comment to D5467: CLEAN_FILES for `reverse-complement`.

Merged as https://gitlab.haskell.org/ghc/nofib/merge_requests/2.

Dec 30 2018, 12:21 PM
sgraf committed rNOFIB5c66e188b50c: Disable timer-based context switches (authored by sgraf).
Disable timer-based context switches
Dec 30 2018, 12:18 PM
sgraf closed D5470: Disable timer-based context switches.
Dec 30 2018, 12:18 PM
sgraf committed rNOFIB44bff05de7ad: Typofix (authored by Greif <gabor.greif@nokia.com>).
Typofix
Dec 30 2018, 12:12 PM
sgraf committed rNOFIB8b3c9596440b: CLEAN_FILES for `reverse-complement` (authored by sgraf).
CLEAN_FILES for `reverse-complement`
Dec 30 2018, 12:12 PM
sgraf closed D5467: CLEAN_FILES for `reverse-complement`.
Dec 30 2018, 12:12 PM

Dec 29 2018

sgraf added a comment to D5470: Disable timer-based context switches.

Any objections to merging this? This could possibly manifest in a small drop in performance in perf.haskell.org, but then again, the build seems broken anyway...

Dec 29 2018, 1:20 PM
sgraf added a comment to D5467: CLEAN_FILES for `reverse-complement`.

I hope it's OK if I just land this. I'll revert if you object.

Dec 29 2018, 1:15 PM

Dec 28 2018

sgraf updated the diff for D5468: Stabilise benchmarks wrt. GC, part 2.
  • Rebase
  • Remove stdout files of nucleic because of floating point instabilities
  • Fix stdin encoding of grep on Windows
Dec 28 2018, 10:10 AM

Dec 27 2018

sgraf removed a parent revision for D5468: Stabilise benchmarks wrt. GC, part 2: D5469: Compare results of compress by hashing.
Dec 27 2018, 9:32 AM
sgraf removed a child revision for D5469: Compare results of compress by hashing: D5468: Stabilise benchmarks wrt. GC, part 2.
Dec 27 2018, 9:32 AM

Dec 26 2018

sgraf committed rNOFIB042cf0be9e6f: Compare results of compress by hashing (authored by sgraf).
Compare results of compress by hashing
Dec 26 2018, 7:30 AM
sgraf closed D5469: Compare results of compress by hashing.
Dec 26 2018, 7:30 AM
sgraf updated the diff for D5469: Compare results of compress by hashing.
  • Nevermind, got confused. Revert "Remove and ignore the stdout file"
Dec 26 2018, 6:59 AM
sgraf updated the diff for D5469: Compare results of compress by hashing.
  • Remove and ignore the stdout file
Dec 26 2018, 6:58 AM
sgraf updated the diff for D5469: Compare results of compress by hashing.
  • Actually do the left fold. Don't know how this compiled earlier
Dec 26 2018, 6:56 AM
sgraf added a comment to D5469: Compare results of compress by hashing.

I thought about generating them from noise or deterministic patterns using a small script back when, but it doesn't seem worth it since we would then benchmark a very unrealistic usecase and add more complexity to the whole thing.

But you seem good at coming up with solutions to these problems, so if you can think of a nifty solution I'm all for it!

Dec 26 2018, 6:42 AM

Dec 25 2018

sgraf added a comment to D5470: Disable timer-based context switches.

What do you mean by other benchmarks? Do you mean perf tests in GHC?

Dec 25 2018, 7:31 AM
sgraf updated the diff for D5469: Compare results of compress by hashing.
  • Remove compress2.stdin
Dec 25 2018, 7:15 AM
sgraf updated the diff for D5469: Compare results of compress by hashing.
  • Use foldl' instead of foldr
Dec 25 2018, 4:59 AM
sgraf added a comment to D5469: Compare results of compress by hashing.

I just realized what might have been going on: Every time we change one of the source files, the output will differ, because the input file depends on *.hs source files. Well, let's fix that another time.

Dec 25 2018, 4:53 AM

Dec 24 2018

sgraf updated the summary of D5469: Compare results of compress by hashing.
Dec 24 2018, 9:57 AM

Dec 23 2018

sgraf added a comment to D5469: Compare results of compress by hashing.

As far as I know putStrLn/print behave differently for the two in regards to line endings. Just using putStr (show hash) instead should work.

Dec 23 2018, 9:27 AM
sgraf added a comment to D5469: Compare results of compress by hashing.

A bit unrelated to the foldl' refactoring, but not less concerning: I realised that one problem of this approach is that something (I think it's cat or >) seems to work differently in MinGW than on Linux, probably inserting CRs. mode=fast works just fine, but mode=norm seems to compute a different hash.

Dec 23 2018, 6:02 AM
sgraf added a comment to D5469: Compare results of compress by hashing.

Will fix this as soon as I find the time to do so.

Dec 23 2018, 5:55 AM

Dec 21 2018

sgraf updated the diff for D5438: Stabilise benchmarks wrt. GC.
  • Fix stdout files and RTS flags of paraffins
Dec 21 2018, 10:03 AM
sgraf abandoned D5460: Deactivate stack squeezing for `cacheprof`.

Closed in favor of D5470.

Dec 21 2018, 7:59 AM
sgraf created D5470: Disable timer-based context switches.
Dec 21 2018, 7:58 AM
sgraf committed rNOFIBf3521319e2c5: Fix parsing of maximum residency in runstdtest (authored by sgraf).
Fix parsing of maximum residency in runstdtest
Dec 21 2018, 7:46 AM
sgraf closed D5418: Fix parsing of maximum residency in runstdtest.
Dec 21 2018, 7:46 AM
sgraf added a parent revision for D5438: Stabilise benchmarks wrt. GC: D5467: CLEAN_FILES for `reverse-complement`.
Dec 21 2018, 7:23 AM
sgraf added a child revision for D5467: CLEAN_FILES for `reverse-complement`: D5438: Stabilise benchmarks wrt. GC.
Dec 21 2018, 7:23 AM
sgraf added a parent revision for D5468: Stabilise benchmarks wrt. GC, part 2: D5469: Compare results of compress by hashing.
Dec 21 2018, 7:22 AM
sgraf added a child revision for D5469: Compare results of compress by hashing: D5468: Stabilise benchmarks wrt. GC, part 2.
Dec 21 2018, 7:22 AM
sgraf updated the summary of D5468: Stabilise benchmarks wrt. GC, part 2.
Dec 21 2018, 7:20 AM
sgraf updated the diff for D5468: Stabilise benchmarks wrt. GC, part 2.
  • Stabilise compress
Dec 21 2018, 7:20 AM
sgraf created D5469: Compare results of compress by hashing.
Dec 21 2018, 6:55 AM
sgraf added a comment to D5426: Fix make boot for compress.

In D5438 I began to output hashes instead of actual output. Maybe there's a pattern to be extracted into the benchmark runner here.

Dec 21 2018, 6:27 AM
sgraf updated the diff for D5438: Stabilise benchmarks wrt. GC.
  • Stabilise paraffins even more
Dec 21 2018, 5:43 AM
sgraf added a comment to D5438: Stabilise benchmarks wrt. GC.
In D5438#150861, @sgraf wrote:

I'm finally done with this. Hooray! But upon uploading my final set of changes, it seems that Phabricator can't handle creating the new diff, probably because it's too large.

>>> [80] (+73,914) <http> https://phabricator.haskell.org/api/differential.creatediff
 <<< [80] (+100,505) <http> 26,590,234 us
 
 [2018-12-21 09:54:12] EXCEPTION: (HTTPFutureHTTPResponseStatus) [HTTP/502]
 <html>
 <head><title>502 Bad Gateway</title></head>
 <body bgcolor="white">
 <center><h1>502 Bad Gateway</h1></center>
 <hr><center>nginx/1.9.15</center>
 </body>
 </html> at [<phutil>/src/future/http/BaseHTTPFuture.php:351]
 arcanist(), phutil()
   #0 BaseHTTPFuture::parseRawHTTPResponse(string) called at [<phutil>/src/future/http/HTTPSFuture.php:418]
   #1 HTTPSFuture::isReady() called at [<phutil>/src/future/Future.php:37]
   #2 Future::resolve(NULL) called at [<phutil>/src/future/FutureProxy.php:34]
   #3 FutureProxy::resolve() called at [<phutil>/src/conduit/ConduitClient.php:64]
   #4 ConduitClient::callMethodSynchronous(string, array) called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:519]
   #5 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:394]
Dec 21 2018, 4:24 AM
sgraf updated the summary of D5438: Stabilise benchmarks wrt. GC.
Dec 21 2018, 4:17 AM
sgraf updated the summary of D5438: Stabilise benchmarks wrt. GC.
Dec 21 2018, 4:15 AM
sgraf added a parent revision for D5468: Stabilise benchmarks wrt. GC, part 2: D5438: Stabilise benchmarks wrt. GC.
Dec 21 2018, 4:11 AM
sgraf added a child revision for D5438: Stabilise benchmarks wrt. GC: D5468: Stabilise benchmarks wrt. GC, part 2.
Dec 21 2018, 4:11 AM
sgraf created D5468: Stabilise benchmarks wrt. GC, part 2.
Dec 21 2018, 4:09 AM
sgraf added a comment to D5438: Stabilise benchmarks wrt. GC.

I'm finally done with this. Hooray! But upon uploading my final set of changes, it seems that Phabricator can't handle creating the new diff, probably because it's too large.

Dec 21 2018, 4:02 AM
sgraf retitled D5438: Stabilise benchmarks wrt. GC from Stabilise GC wibbly benchmarks to Stabilise benchmarks wrt. GC.
Dec 21 2018, 3:59 AM
sgraf created D5467: CLEAN_FILES for `reverse-complement`.
Dec 21 2018, 3:07 AM
sgraf added a comment to D5460: Deactivate stack squeezing for `cacheprof`.

I note that Trac #4450 had exactly the same diagnosis that we've just rediscovered for Trac #8611, 8 years ago. So to avoid this happening again for more benchmarks, why don't we just do +RTS -V0 for all the single-threaded benchmarks in nofib? That is, add it by default to all parts of nofib except nofib/smp and nofib/parallel.

Dec 21 2018, 2:46 AM

Dec 19 2018

sgraf updated the diff for D5460: Deactivate stack squeezing for `cacheprof`.

Use -V0 instead of -Z

Dec 19 2018, 6:49 AM

Dec 18 2018

sgraf updated the diff for D5460: Deactivate stack squeezing for `cacheprof`.

Clean up the diff to only include relevant changes

Dec 18 2018, 10:56 AM
sgraf created D5460: Deactivate stack squeezing for `cacheprof`.
Dec 18 2018, 10:51 AM

Dec 14 2018

sgraf updated the summary of D5438: Stabilise benchmarks wrt. GC.
Dec 14 2018, 7:36 AM
sgraf updated the summary of D5438: Stabilise benchmarks wrt. GC.
Dec 14 2018, 7:30 AM
sgraf updated the diff for D5438: Stabilise benchmarks wrt. GC.
  • Stabilise fibheaps
  • Stabilise fish
  • Adjust running time for gcd
  • Stabilise comp_lab_zift
  • Stabilise event
  • Stabilise fft
  • Stabilise genfft
  • Stabilise ida
  • Adjust running time for listcompr
  • Adjust running time for listcopy
  • Adjust running time of nucleic2
  • Attempt to stabilise parstof
  • Stabilise sched
  • Stabilise solid
  • Adjust running time of transform
  • Adjust running time of typecheck
  • Stabilise wang
  • Stabilise wave4main
  • Adjust running time of integer
  • Adjust running time of knights
  • Stabilise lambda
  • Stabilise lcss
  • Stabilise life
  • Stabilise mandel
  • Stabilise mandel2
  • Adjust running time of mate
  • Stabilise minimax
  • Adjust running time of multiplier
  • Adjust running time of para
  • Stabilise power
  • Adjust running time of primetest
  • Stabilise puzzle with mild success
  • Adjust running time for rewrite
  • Stabilise simple with mild success
  • Stabilise sorting
  • Stabilise sphere
  • Stabilise treejoin
Dec 14 2018, 7:29 AM

Dec 13 2018

sgraf added a comment to D5438: Stabilise benchmarks wrt. GC.

One thing to watch out for is full-laziness floating out the actual work and then sharing it between iterations. (I've seen that in one of the nofib benchmarks when I adjusted the runtimes).

Assuming you only stabilize very gc heavy benchmarks just disabling full-laziness for these should be fine if you run into that.
But looks like you deal with that by always making use of the iteration variable which looks like a better solution and which should also work.

Dec 13 2018, 4:04 AM

Dec 12 2018

sgraf updated the summary of D5438: Stabilise benchmarks wrt. GC.
Dec 12 2018, 10:45 AM
sgraf updated the summary of D5438: Stabilise benchmarks wrt. GC.
Dec 12 2018, 10:44 AM
sgraf updated the diff for D5438: Stabilise benchmarks wrt. GC.
  • Adjust running time of calendar
  • Adjust runtime of cichelli
  • Stabilise circsim
  • Stabilise clausify
  • Stabilise constraints with moderate success
  • Adjust running time of cryptarithm1
  • Adjust running time of cryptarythm2
  • Adjust running time of cse
  • Adjust running time of eliza
  • Adjust running time of exact-reals
  • Adjust running time of expert
  • Stabilise fft2
Dec 12 2018, 10:44 AM
sgraf accepted D5441: Show recursive Stg bindings in Rec {} blocks.

Makes sense IMO. Un-accept if you disagree, @bgamari.

Dec 12 2018, 3:46 AM

Dec 11 2018

sgraf created D5438: Stabilise benchmarks wrt. GC.
Dec 11 2018, 9:53 AM

Dec 10 2018

sgraf accepted D5428: Add +RTS -F to the --help output.

LGTM!

Dec 10 2018, 2:59 AM

Dec 7 2018

sgraf added a comment to D5414: Don't use a generic apply thunk for known calls.

I created Trac #16007 to track opportunities for code size reduction, should we eventually implement -Os.

Dec 7 2018, 3:13 AM

Dec 6 2018

sgraf committed rGHCdc54c07cf183: Don't use a generic apply thunk for known calls (authored by sgraf).
Don't use a generic apply thunk for known calls
Dec 6 2018, 9:40 AM
sgraf closed D5414: Don't use a generic apply thunk for known calls.
Dec 6 2018, 9:40 AM
sgraf updated the Trac tickets for D5414: Don't use a generic apply thunk for known calls.
Dec 6 2018, 9:39 AM
sgraf retitled D5414: Don't use a generic apply thunk for known calls from Don't use a generic apply function for known calls to Don't use a generic apply thunk for known calls.
Dec 6 2018, 9:26 AM
sgraf created D5418: Fix parsing of maximum residency in runstdtest.
Dec 6 2018, 4:32 AM
sgraf added a comment to rGHCfd1cf1f47462: Disable T10962 on llvm for now.

This means we don't test D4592/D4969 for the regression in LLVM anymore. Just wanted to point that out.

Dec 6 2018, 3:50 AM
sgraf added a comment to rGHC6243bba73d14: Add 'addWordC#' PrimOp.

This was fixed in D4969.

Dec 6 2018, 3:43 AM
sgraf requested verification of rGHC6243bba73d14: Add 'addWordC#' PrimOp.
Dec 6 2018, 3:43 AM
sgraf updated the Trac tickets for D4989: Adjust normal runtimes for nofib along with related changes..
Dec 6 2018, 3:10 AM

Dec 5 2018

sgraf updated the diff for D5414: Don't use a generic apply thunk for known calls.
  • Use unknownArity instead of 0
Dec 5 2018, 10:49 AM
sgraf added a comment to D5414: Don't use a generic apply thunk for known calls.
In D5414#149260, @osa1 wrote:

This looks good to me. Because this trades binary size for performance should this maybe behind -O or -O2?

I'm wondering about the binary size changes in the benchmarks you highlighted. Could you also share binary size changes for those? If this can buy us -3.8% runtime for +0.1% binary size I think this is worth doing. What are the smallest and largest increase in binary size in nofib?

Dec 5 2018, 10:48 AM
sgraf added a comment to D5414: Don't use a generic apply thunk for known calls.

Binary sizes went up by 0.1%, while these were the biggest winners (> 2%) wrt. instruction count:

Dec 5 2018, 9:15 AM
sgraf created D5414: Don't use a generic apply thunk for known calls.
Dec 5 2018, 8:59 AM