AndreasK (Andreas Klebinger)
User

Projects

User does not belong to any projects.

User Details

User Since
Nov 19 2016, 5:25 PM (121 w, 4 d)

Recent Activity

Mon, Mar 4

Marge Bot <ben+marge-bot@smart-cactus.org> committed rGHC473632d76716: Bump nofib submodule. (authored by AndreasK).
Bump nofib submodule.
Mon, Mar 4, 1:08 PM
Marge Bot <ben+marge-bot@smart-cactus.org> committed rGHCbcaba30a9602: Don't wrap the entry map for LiveInfo in Maybe. (authored by AndreasK).
Don't wrap the entry map for LiveInfo in Maybe.
Mon, Mar 4, 1:07 PM
Marge Bot <ben+marge-bot@smart-cactus.org> committed rGHCf4d8e907b6b2: Improve snocView implementation. (authored by AndreasK).
Improve snocView implementation.
Mon, Mar 4, 1:06 PM
Marge Bot <ben+marge-bot@smart-cactus.org> committed rGHC9170daa859ca: Replace a few uses of snocView with last/lastMaybe. (authored by AndreasK).
Replace a few uses of snocView with last/lastMaybe.
Mon, Mar 4, 1:06 PM
Marge Bot <ben+marge-bot@smart-cactus.org> committed rGHC03b7abc19c8b: Allow resizing the stack for the graph allocator. (authored by AndreasK).
Allow resizing the stack for the graph allocator.
Mon, Mar 4, 1:05 PM

Jan 24 2019

AndreasK abandoned D5086: Use -O2 as default flag for stage1..

Gitlab

Jan 24 2019, 1:22 PM

Jan 2 2019

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

Hmm, this does not actually fix the problem that makes perf.haskell.org fail, as shown in this log (which contains this fix, I believe):
https://raw.githubusercontent.com/nomeata/ghc-speed-logs/8fbffea2c4c63826e79778ffb828c5516e8f64bc/d2a0f3ab8438b80663f7977bb6b474c02baffa5c.log.broken

Jan 2 2019, 3:41 AM

Dec 29 2018

AndreasK accepted D5467: CLEAN_FILES for `reverse-complement`.

LGTM thanks!

Dec 29 2018, 1:44 PM

Dec 26 2018

AndreasK accepted D5469: Compare results of compress by hashing.
In D5469#151127, @osa1 wrote:

Once the binary is in the repo this won't buy us much, but I guess this helps when doing shallow clone (which I never do, but perhaps others do).

Dec 26 2018, 6:36 AM

Dec 24 2018

AndreasK added a comment to D5469: Compare results of compress by hashing.
In D5469#151068, @osa1 wrote:

I'm confused

Invoking compress during boot to generate the stdout file doesn't work,
because at that point the dependency file for building compress might not have
been created yet, resulting in make boot failures.

Why would you invoke compress during boot? Isn't compress a benchmark that
needs to be run _after_ boot?

Dec 24 2018, 4:46 AM
AndreasK abandoned D5426: Fix make boot for compress.

Abandoned in favour of D5469

Dec 24 2018, 4:42 AM

Dec 23 2018

AndreasK added a comment to D5469: Compare results of compress by hashing.
In D5469#151064, @sgraf wrote:

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, 7:40 AM

Dec 21 2018

AndreasK requested changes to D5469: Compare results of compress by hashing.

Comparing a hash is certainly a cleaner solution.

Dec 21 2018, 1:37 PM

Dec 13 2018

AndreasK 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).

Dec 13 2018, 2:54 AM

Dec 11 2018

AndreasK updated the diff for D5437: Move required language extensions into pragmas for shootout..

Mixups

Dec 11 2018, 4:49 AM
AndreasK created D5437: Move required language extensions into pragmas for shootout..
Dec 11 2018, 4:48 AM

Dec 10 2018

AndreasK updated the diff for D4327: WIP: Add likelyhood to alternatives from stg onwards.
  • Improve desugaring and surface syntax.
  • Fix some bugs in the simplifier where we used to drop the weight.
Dec 10 2018, 12:37 PM
AndreasK updated subscribers of D5426: Fix make boot for compress.

It just occurred to me while talking to @jmct that we could also just throw away the result and not compare it as well, if it's only about measuring compression speed.

Dec 10 2018, 8:26 AM

Dec 8 2018

AndreasK added a comment to D5426: Fix make boot for compress.

Are you sure that there is no good way of making the Makefile do the right thing, without storing a big file in the repository?

Dec 8 2018, 11:22 AM
AndreasK updated subscribers of D5426: Fix make boot for compress.
Dec 8 2018, 8:45 AM
AndreasK created D5426: Fix make boot for compress.
Dec 8 2018, 8:39 AM

Dec 5 2018

AndreasK accepted D5383: Windows: Use the "big" PE object format on amd64.

@bgamari Reminder to put this also into 8.8

Dec 5 2018, 3:39 PM
AndreasK added a comment to D4327: WIP: Add likelyhood to alternatives from stg onwards.

Hard to say which optimization makes how much of an difference, but at the moment this provides a 3.2% speedup over the base commit on nofib.
However compile times also go up by 2%.

Dec 5 2018, 12:32 PM
AndreasK updated the diff for D4327: WIP: Add likelyhood to alternatives from stg onwards.
  • Wip - likely pragmas
Dec 5 2018, 12:28 PM

Dec 4 2018

AndreasK updated the diff for D5411: Nofib: Use CLEAN_FILES to clean up compress2 inputs..

Submodules, how do they work.

Dec 4 2018, 3:39 AM
AndreasK created D5411: Nofib: Use CLEAN_FILES to clean up compress2 inputs..
Dec 4 2018, 3:38 AM

Nov 30 2018

AndreasK created D5396: Bump nofib submodule.
Nov 30 2018, 6:53 AM
AndreasK added a comment to D4327: WIP: Add likelyhood to alternatives from stg onwards.

Nofib showed a 2% improvement in runtime after the rebase. The Layout changes paying off it seems.

Nov 30 2018, 4:57 AM
AndreasK updated the diff for D4327: WIP: Add likelyhood to alternatives from stg onwards.

Rebase, add option to allocate registers along the hot code path first.

Nov 30 2018, 4:32 AM
AndreasK awarded D5383: Windows: Use the "big" PE object format on amd64 a Party Time token.
Nov 30 2018, 4:04 AM

Nov 29 2018

AndreasK added a comment to D2903: WIP: Register Allocator Loop Annotations.

First of this is a great idea!

Nov 29 2018, 5:39 PM
AndreasK added inline comments to D5383: Windows: Use the "big" PE object format on amd64.
Nov 29 2018, 12:08 PM

Nov 28 2018

AndreasK added a comment to D5383: Windows: Use the "big" PE object format on amd64.
In D5383#148498, @Phyx wrote:

I think for the file in question we also generate a C stub for stable pointers.
It might happen when combining the stub and haskell code into one object file?

Hm that could be if it's combining two object files into one. In which case the control needs to be a tad more fine grained.

Setting LD_FLAGS here will have the unfortunate effect of also affecting the final link.

Nov 28 2018, 5:24 PM
AndreasK added a comment to D5383: Windows: Use the "big" PE object format on amd64.

That's the assembler error, -Wa,-mbig-obj should have fixed that.

Nov 28 2018, 4:28 PM
AndreasK added a comment to D5383: Windows: Use the "big" PE object format on amd64.

what exactly was the error that made you think this was needed @bgamari ?

Nov 28 2018, 4:17 PM
AndreasK requested changes to D5383: Windows: Use the "big" PE object format on amd64.

CI doesn't lie I also get

Nov 28 2018, 3:34 PM

Nov 27 2018

AndreasK requested changes to D5383: Windows: Use the "big" PE object format on amd64.

There seems to be some sort of syntax error in your changes.

checking whether C compiler has an LLVM back end... no
checking Setting up CFLAGS, LDFLAGS, IGNORE_LINKER_LD_FLAGS and CPPFLAGS... ./configure: line 9512: syntax error near unexpected token `when'
./configure: line 9512: `    case $target when'
Nov 27 2018, 3:22 PM

Nov 25 2018

AndreasK created D5378: Add haddock for Node in Digraph. [skip ci].
Nov 25 2018, 3:45 PM
AndreasK added a comment to D5204: EXPERIMENTAL: different codegen for tag-check on entering (#8905).

I've looked at this a bit and the big issue I see is repeated spilling/reloading of live vars.

Nov 25 2018, 6:19 AM

Nov 23 2018

AndreasK added a comment to D5204: EXPERIMENTAL: different codegen for tag-check on entering (#8905).

Nofib results on a really quite machine. (Sandy bridge xeon with no background load).
So runtime results should be accurate up to +/- 0.1%.

Nov 23 2018, 5:02 AM

Nov 22 2018

AndreasK updated the diff for D5204: EXPERIMENTAL: different codegen for tag-check on entering (#8905).

I rebased this as my patch broke it.

Nov 22 2018, 3:51 PM

Nov 21 2018

AndreasK added a comment to D5357: Fixup the new code layout patch for SplitObjs..

I validated locally and it seems to fix SPJs error as well. Is it ok to merge this as is?

Nov 21 2018, 6:34 AM
AndreasK added a comment to D5086: Use -O2 as default flag for stage1..

I guess I will try to rebase this once CI is in order again.

Nov 21 2018, 6:30 AM

Nov 20 2018

AndreasK added a comment to D5357: Fixup the new code layout patch for SplitObjs..

Applied the suggestion and expanded/reworded the comment slightly.

Nov 20 2018, 12:13 PM
AndreasK updated the diff for D5357: Fixup the new code layout patch for SplitObjs..
  • Slightly expanded the comment, applied SPJs suggestion.
Nov 20 2018, 12:12 PM
AndreasK accepted D5359: Fix `make clean` for `real/compress`.

LGTM, thanks for noticing and fixing this!

Nov 20 2018, 9:07 AM

Nov 19 2018

AndreasK updated the diff for D5357: Fixup the new code layout patch for SplitObjs..
  • Use right <toList> function.
Nov 19 2018, 3:20 PM
AndreasK created D5357: Fixup the new code layout patch for SplitObjs..
Nov 19 2018, 3:04 PM

Nov 17 2018

AndreasK committed rGHC912fd2b6ca0b: NCG: New code layout algorithm. (authored by AndreasK).
NCG: New code layout algorithm.
Nov 17 2018, 4:28 AM
AndreasK closed D4726: NCG: New code layout algorithm..
Nov 17 2018, 4:28 AM
AndreasK updated the summary of D4726: NCG: New code layout algorithm..
Nov 17 2018, 3:01 AM
AndreasK updated the diff for D4726: NCG: New code layout algorithm..
  • Rebase, add release note.
Nov 17 2018, 2:54 AM

Nov 16 2018

AndreasK updated the diff for D4726: NCG: New code layout algorithm..
  • Use foldMap to collect nodes of the cfg
  • Bikeshedding of flag names
  • More bikeshedding
Nov 16 2018, 9:52 AM
AndreasK committed rGHC4efd1b487e10: bump haddock submodule (authored by alpmestan).
bump haddock submodule
Nov 16 2018, 2:53 AM
AndreasK closed D5341: bump haddock submodule.
Nov 16 2018, 2:53 AM
AndreasK updated the summary of D5341: bump haddock submodule.
Nov 16 2018, 2:40 AM
AndreasK accepted D5341: bump haddock submodule.

Given that validate was broken by this I'm going to take the leap and land this.

Nov 16 2018, 2:39 AM

Nov 14 2018

AndreasK added a reviewer for D4726: NCG: New code layout algorithm.: simonpj.
Nov 14 2018, 1:06 PM
AndreasK added a comment to D4726: NCG: New code layout algorithm..

As I want to get this into 8.8 a last call for reviews! I will look to land this in the next two days.

Nov 14 2018, 1:06 PM

Oct 22 2018

AndreasK added a comment to D5249: [#14037] Allow fusion for zip7 and related.

Hm, it seems I spoke too soon. I am not sure of the reason, but it seems that the tests that output stat too good do so in the latest master branch as well, and with identical results. Can anyone confirm this? I had expected that all performance tests in the latest master would pass without being too bad or too good, at least when ran with make test, but it seems I was wrong, both on that and about these changes being strictly positive. I cannot claim they are when the same improvement appears without them.
I'll continue trying things out.

Oct 22 2018, 2:18 PM
AndreasK committed rGHCfce07c99fa65: Update hsc2hs submodule to work around bug in response file handling. (authored by AndreasK).
Update hsc2hs submodule to work around bug in response file handling.
Oct 22 2018, 12:22 PM
AndreasK closed D5250: Update hsc2hs submodule to work around bug in response file handling..
Oct 22 2018, 12:22 PM
AndreasK added a comment to D5232: Remove StgBinderInfo and related computation in CoreToStg.

I looked at StgBinderInfo when I was looking at https://ghc.haskell.org/trac/ghc/ticket/15560 in the past.

Oct 22 2018, 11:09 AM
AndreasK updated the diff for D5250: Update hsc2hs submodule to work around bug in response file handling..
  • Add test to check response files actually work.
Oct 22 2018, 8:54 AM
AndreasK added a comment to D5250: Update hsc2hs submodule to work around bug in response file handling..

After talking to @ckoparkar, I've realized that there are currently no tests which ensure that the version of hsc2hs that is bundled with GHC can support response files. Might you add one here to ensure that this submodule bump actually does what it advertises?

Oct 22 2018, 8:04 AM
AndreasK updated the summary of D5250: Update hsc2hs submodule to work around bug in response file handling..
Oct 22 2018, 7:42 AM
AndreasK created D5250: Update hsc2hs submodule to work around bug in response file handling..
Oct 22 2018, 7:38 AM

Oct 20 2018

AndreasK added a comment to D4726: NCG: New code layout algorithm..

Thank you for the feedback!

Oct 20 2018, 6:28 AM
AndreasK updated the diff for D4726: NCG: New code layout algorithm..
  • Refactorings based on Phab feedback.
Oct 20 2018, 5:53 AM

Oct 8 2018

AndreasK added a comment to D5213: Backend plugins.

The Cmm pipeline has multiple stages.
It would be good to give a reason why we allow people to hook into it at the place you suggest.

Oct 8 2018, 9:44 AM · GHC

Oct 5 2018

AndreasK added a comment to D4726: NCG: New code layout algorithm..

Thanks for the review!

Oct 5 2018, 8:06 AM

Sep 27 2018

AndreasK updated the diff for D4726: NCG: New code layout algorithm..
  • Rebase artefact
Sep 27 2018, 6:15 PM
AndreasK updated the diff for D4726: NCG: New code layout algorithm..
  • Rebasing
Sep 27 2018, 5:23 PM

Sep 14 2018

AndreasK planned changes to D4726: NCG: New code layout algorithm..

I found some slowdowns in the binary benchmarks with this patch which can be traced back to how some Cmm files are compiled in the RTS.
Not sure if the resulting code is actually worse as that depends on the actual program, but it's definitely worse for the binary benchmarks.

Sep 14 2018, 2:46 PM

Sep 7 2018

AndreasK added a comment to D4726: NCG: New code layout algorithm..

If this adds a big compile time overhead, perhaps it should be enabled for -O2 only?

Sep 7 2018, 8:09 AM
AndreasK added a comment to D4784: Rename some mutable closure types for consistency.

This should probably be mentioned in the Changelog as it can break existing code. (For example it breaks the packman package).

Sep 7 2018, 7:07 AM

Sep 2 2018

AndreasK updated the diff for D4726: NCG: New code layout algorithm..
  • Update stats to account for OsX allocation results
Sep 2 2018, 5:53 AM

Sep 1 2018

AndreasK updated the diff for D4726: NCG: New code layout algorithm..
  • Rebase
  • Massive speed improvements for new code layout in edge cases.
Sep 1 2018, 4:10 PM

Aug 30 2018

AndreasK updated the diff for D4726: NCG: New code layout algorithm..
  • Update flag documentation
  • Remove unneccesary derived instances
Aug 30 2018, 2:51 PM
AndreasK retitled D4726: NCG: New code layout algorithm. from DO NOT MERGE - Experimental code layout to NCG: New code layout algorithm..
Aug 30 2018, 2:24 PM

Aug 28 2018

AndreasK added a comment to D5086: Use -O2 as default flag for stage1..

Ideally I'd like to see this tested on more machines and platforms, but if those timings are anywhere near accurate, I'd expect those to match too.

Aug 28 2018, 4:10 AM

Aug 23 2018

AndreasK updated the diff for D4726: NCG: New code layout algorithm..
  • Add copyright notice [skip ci]
Aug 23 2018, 3:48 AM

Aug 22 2018

AndreasK added a comment to D4990: Invert FP conditions to eliminate the explicit NaN check..

Out of curiosity, if this is a _performance_ optimisation, do we have any numbers we can leave here for posterity?

Aug 22 2018, 11:35 AM
AndreasK created D5086: Use -O2 as default flag for stage1..
Aug 22 2018, 9:22 AM

Aug 21 2018

AndreasK updated the diff for D4726: NCG: New code layout algorithm..
  • Update test allocations
Aug 21 2018, 8:42 AM

Aug 20 2018

AndreasK updated the diff for D4726: NCG: New code layout algorithm..
  • Rename test
Aug 20 2018, 11:37 AM
AndreasK updated the diff for D4726: NCG: New code layout algorithm..
  • Remove unused import
Aug 20 2018, 9:27 AM
AndreasK updated the diff for D4726: NCG: New code layout algorithm..
  • Line widths and minor refactorings that go along with it.
  • Update flag description, make vanilla default on old layout.
  • Fix info table check
  • Disable new layout code on unsupported target archs
Aug 20 2018, 8:39 AM

Aug 18 2018

AndreasK added a comment to D4990: Invert FP conditions to eliminate the explicit NaN check..

Thanks for the feedback!

Aug 18 2018, 2:30 PM
AndreasK updated the diff for D4990: Invert FP conditions to eliminate the explicit NaN check..
  • Update note
  • Add regression test
Aug 18 2018, 2:29 PM

Aug 15 2018

AndreasK added a comment to D2903: WIP: Register Allocator Loop Annotations.
Aug 15 2018, 1:09 PM
AndreasK updated the diff for D4726: NCG: New code layout algorithm..
  • Remove unused parameters/imports.
Aug 15 2018, 7:24 AM

Aug 14 2018

AndreasK updated the diff for D4726: NCG: New code layout algorithm..
  • Be more aggresive in removing dead code.
  • Add last2 to get last two elements from list efficiently
  • Invert cond branch jump order at the asm level in order to eliminate one.
  • Decouple conditional branch weights from cmm branch order..
Aug 14 2018, 9:27 AM

Aug 9 2018

AndreasK updated the diff for D4990: Invert FP conditions to eliminate the explicit NaN check..
  • Remove space after assert
Aug 9 2018, 8:01 AM

Jul 30 2018

AndreasK updated the diff for D4726: NCG: New code layout algorithm..
  • Only print nodes not covered by edges explicitly
  • Small improvements from jmcts review
  • Assert include fixup
  • Remove unused bindings
Jul 30 2018, 10:25 AM
AndreasK added a comment to D4953: Support for deprecating exports.

Orthogonal to the issue at hand. But please keep within the line length limit unless there are good reasons not to do so.

Jul 30 2018, 3:41 AM

Jul 24 2018

AndreasK added inline comments to D4989: Adjust normal runtimes for nofib along with related changes..
Jul 24 2018, 12:40 PM

Jul 21 2018

AndreasK updated the diff for D4990: Invert FP conditions to eliminate the explicit NaN check..
  • ASSERT that comparisons have been swapped as expected.
Jul 21 2018, 4:43 AM
AndreasK retitled D4990: Invert FP conditions to eliminate the explicit NaN check. from WIP: While the idea is sound there is still a bug in here. [skip ci]Invert FP conditions to reduce conditional instruction count. to Invert FP conditions to eliminate the explicit NaN check..
Jul 21 2018, 2:51 AM

Jul 20 2018

AndreasK updated the diff for D4990: Invert FP conditions to eliminate the explicit NaN check..
  • Fix a leftover GTT/GE mixup.
Jul 20 2018, 12:15 PM