niteria (Bartosz Nitka)
User

Projects

User does not belong to any projects.

Today

  • Clear sailing ahead.

Tomorrow

  • Clear sailing ahead.

Sunday

  • Clear sailing ahead.

User Details

User Since
Jun 13 2014, 5:19 PM (193 w, 4 h)
Availability
Available

Recent Activity

Today

niteria updated the diff for D4445: Cache the fingerprint of sOpt_P.

fix spurious whitespace change

Fri, Feb 23, 8:33 AM
niteria created D4445: Cache the fingerprint of sOpt_P.
Fri, Feb 23, 8:28 AM

Yesterday

niteria abandoned D4424: Don't inline top-level primitive string literals.
Thu, Feb 22, 7:05 AM

Tue, Feb 20

niteria added a comment to D4424: Don't inline top-level primitive string literals.

What is the motivation for this change? Is there a Trac ticket for it?

Tue, Feb 20, 5:38 AM

Mon, Feb 19

niteria added a comment to D4424: Don't inline top-level primitive string literals.

I run nofib a couple of time and it's hard to see anything among the noise P175. I don't *think* I have cpu scaling on, is usually less noisy for other people?

Mon, Feb 19, 3:16 PM
niteria updated the diff for D4424: Don't inline top-level primitive string literals.

update test output

Mon, Feb 19, 12:14 PM
niteria updated the summary of D4424: Don't inline top-level primitive string literals.
Mon, Feb 19, 11:17 AM
niteria created D4424: Don't inline top-level primitive string literals.
Mon, Feb 19, 11:15 AM
niteria created D4423: Don't tick floated top-level primitive strings.
Mon, Feb 19, 10:45 AM

Thu, Feb 8

niteria requested changes to D3925: CoreLint: Assert that string literals aren't tick'd.
Thu, Feb 8, 8:36 AM
niteria added inline comments to D3925: CoreLint: Assert that string literals aren't tick'd.
Thu, Feb 8, 8:36 AM

Tue, Feb 6

niteria committed rGHCd2511e3b6156: Compute the union of imp_finsts on the side (authored by niteria).
Compute the union of imp_finsts on the side
Tue, Feb 6, 11:58 AM
niteria closed D4369: Compute the union of imp_finsts on the side.
Tue, Feb 6, 11:58 AM

Fri, Feb 2

niteria created D4369: Compute the union of imp_finsts on the side.
Fri, Feb 2, 10:13 AM

Jan 23 2018

niteria committed rGHCf00ddea96cc8: Allocate less in plus_mod_dep (authored by niteria).
Allocate less in plus_mod_dep
Jan 23 2018, 4:59 PM
niteria closed D4332: Allocate less in plus_mod_dep.
Jan 23 2018, 4:59 PM
niteria updated the diff for D4332: Allocate less in plus_mod_dep.

address comments

Jan 23 2018, 4:55 PM

Jan 21 2018

niteria created D4332: Allocate less in plus_mod_dep.
Jan 21 2018, 12:01 PM

Jan 20 2018

niteria updated the diff for D4329: Use IntSet in Dataflow.

remove outdated comment

Jan 20 2018, 12:30 PM
niteria created D4329: Use IntSet in Dataflow.
Jan 20 2018, 12:24 PM

Jan 15 2018

niteria added a comment to D4299: Add flag -fno-it.

I'm not sure I understand why it is leaking. Surely we should be able to expunge the old binding after it is shadowed, no?

Jan 15 2018, 3:01 PM
niteria committed rGHCcf2c029ccdb9: Fix quadratic behavior of prepareAlts (authored by niteria).
Fix quadratic behavior of prepareAlts
Jan 15 2018, 2:36 PM
niteria closed D4307: Fix quadratic behavior of prepareAlts.
Jan 15 2018, 2:36 PM
niteria added inline comments to D4307: Fix quadratic behavior of prepareAlts.
Jan 15 2018, 5:04 AM
niteria added inline comments to D4307: Fix quadratic behavior of prepareAlts.
Jan 15 2018, 4:11 AM

Jan 14 2018

niteria created D4307: Fix quadratic behavior of prepareAlts.
Jan 14 2018, 4:08 PM

Jan 10 2018

niteria committed rGHCdbdf77d92c9c: Lift constructor tag allocation out of a loop (authored by niteria).
Lift constructor tag allocation out of a loop
Jan 10 2018, 7:52 AM
niteria closed D4289: Lift constructor tag allocation out of a loop.
Jan 10 2018, 7:51 AM
niteria updated the diff for D4289: Lift constructor tag allocation out of a loop.

@simonpj's comments

Jan 10 2018, 6:11 AM
niteria updated the Trac tickets for D4289: Lift constructor tag allocation out of a loop.
Jan 10 2018, 4:53 AM

Jan 5 2018

niteria updated the diff for D4289: Lift constructor tag allocation out of a loop.

add a test

Jan 5 2018, 1:22 PM
niteria updated the test plan for D4289: Lift constructor tag allocation out of a loop.
Jan 5 2018, 12:34 PM
niteria updated the summary of D4289: Lift constructor tag allocation out of a loop.
Jan 5 2018, 11:09 AM
niteria created D4289: Lift constructor tag allocation out of a loop.
Jan 5 2018, 11:08 AM

Jan 4 2018

niteria committed rGHC6c34824434a6: Cache the number of data cons in DataTyCon and SumTyCon (authored by niteria).
Cache the number of data cons in DataTyCon and SumTyCon
Jan 4 2018, 8:05 AM
niteria closed D4131: Cache the number of data cons in DataTyCon and SumTyCon.
Jan 4 2018, 8:05 AM
niteria updated the diff for D4131: Cache the number of data cons in DataTyCon and SumTyCon.

use only mkDataTyConRhs

Jan 4 2018, 7:16 AM

Jan 3 2018

niteria updated the diff for D4131: Cache the number of data cons in DataTyCon and SumTyCon.
Jan 3 2018, 5:37 PM

Dec 26 2017

niteria committed rGHCe19b6464cc8e: Compute InScopeSet in substInteractiveContext (authored by niteria).
Compute InScopeSet in substInteractiveContext
Dec 26 2017, 6:29 AM
niteria closed D3431: Compute InScopeSet in substInteractiveContext.
Dec 26 2017, 6:29 AM
niteria updated the diff for D3431: Compute InScopeSet in substInteractiveContext.

wibble

Dec 26 2017, 6:25 AM
niteria updated the diff for D3431: Compute InScopeSet in substInteractiveContext.

adding a comment

Dec 26 2017, 6:23 AM

Dec 20 2017

niteria planned changes to D4263: [RTS] Add loadNativeObj and unloadNativeObj.

There's a couple of things I need to do here.
It's unlikely I'm going to find time before the holidays.

Dec 20 2017, 6:21 AM

Dec 15 2017

niteria added inline comments to D4263: [RTS] Add loadNativeObj and unloadNativeObj.
Dec 15 2017, 9:16 AM
niteria abandoned D4262: Protect unloaded_objects with linker_unloaded_mutex.

You're right, perhaps this should be made clear in the comment.

Dec 15 2017, 6:29 AM

Dec 14 2017

niteria updated the diff for D4263: [RTS] Add loadNativeObj and unloadNativeObj.
  • add a test
  • deal with newCAF coming from the shared obj
Dec 14 2017, 8:28 AM

Dec 12 2017

niteria updated the diff for D4263: [RTS] Add loadNativeObj and unloadNativeObj.

fix deadlock

Dec 12 2017, 7:33 PM
niteria planned changes to D4263: [RTS] Add loadNativeObj and unloadNativeObj.
Dec 12 2017, 7:20 PM
niteria updated the diff for D4263: [RTS] Add loadNativeObj and unloadNativeObj.

handle stablePtrs

Dec 12 2017, 7:13 PM
niteria updated the diff for D4263: [RTS] Add loadNativeObj and unloadNativeObj.

I think I diffed out from the wrong branch

Dec 12 2017, 4:37 PM
niteria updated the diff for D4263: [RTS] Add loadNativeObj and unloadNativeObj.

typo

Dec 12 2017, 4:22 PM
niteria updated the diff for D4263: [RTS] Add loadNativeObj and unloadNativeObj.

fix 2 bugs

Dec 12 2017, 4:06 PM
niteria updated the diff for D4263: [RTS] Add loadNativeObj and unloadNativeObj.

Avoid:

rts\Linker.c:2003:6: error:
328      error: function might be candidate for attribute 'noreturn' [-Werror=suggest-attribute=noreturn]
329      void freeNativeCode (NativeCode *nc)
330           ^~~~~~~~~~~~~~
331      |
332 2003 | void freeNativeCode (NativeCode *nc)
333      |      ^
Dec 12 2017, 12:36 PM
niteria added a comment to D4263: [RTS] Add loadNativeObj and unloadNativeObj.

I'm happy to take naming suggestions and suggestions about where to put the code.

Dec 12 2017, 12:09 PM
niteria created D4263: [RTS] Add loadNativeObj and unloadNativeObj.
Dec 12 2017, 12:08 PM
niteria updated the diff for D4262: Protect unloaded_objects with linker_unloaded_mutex.

rebase on a clean HEAD

Dec 12 2017, 9:54 AM
niteria added a comment to D4262: Protect unloaded_objects with linker_unloaded_mutex.

sigh... arc diff incorrectly used the bottom of my stack as base

Dec 12 2017, 9:47 AM
niteria created D4262: Protect unloaded_objects with linker_unloaded_mutex.
Dec 12 2017, 9:21 AM

Nov 27 2017

niteria added inline comments to D2303: Add relocation type R_X86_64_REX_GOTPCRELX.
Nov 27 2017, 1:39 PM
niteria added inline comments to D2303: Add relocation type R_X86_64_REX_GOTPCRELX.
Nov 27 2017, 11:58 AM

Nov 21 2017

niteria retitled D4219: [WIP][RFC] GHCi: Order messages according to severity from [WIP][RFC] GHCi: Display messages according to severity to [WIP][RFC] GHCi: Order messages according to severity.
Nov 21 2017, 8:01 AM
niteria added a comment to D4219: [WIP][RFC] GHCi: Order messages according to severity.

Before:
{P163}

Nov 21 2017, 8:00 AM
niteria updated the summary of D4219: [WIP][RFC] GHCi: Order messages according to severity.
Nov 21 2017, 7:59 AM
niteria created D4219: [WIP][RFC] GHCi: Order messages according to severity.
Nov 21 2017, 7:59 AM

Nov 18 2017

niteria committed rGHC912a72d22414: Fix T4437 (authored by niteria).
Fix T4437
Nov 18 2017, 8:29 AM

Nov 14 2017

niteria added inline comments to D4193: Detect overly long GC sync.
Nov 14 2017, 9:32 AM
niteria added inline comments to D4193: Detect overly long GC sync.
Nov 14 2017, 9:00 AM

Oct 27 2017

niteria created D4131: Cache the number of data cons in DataTyCon and SumTyCon.
Oct 27 2017, 10:21 PM
niteria committed rGHCfaf60e858a29: Make tagForCon non-linear (authored by niteria).
Make tagForCon non-linear
Oct 27 2017, 5:04 PM
niteria closed D4116: Make tagForCon non-linear.
Oct 27 2017, 5:04 PM

Oct 25 2017

niteria added a comment to D4116: Make tagForCon non-linear.

I think this change is strictly positive and that we will want to merge it independently of what further investigation might turn up.

Oct 25 2017, 3:08 PM

Oct 24 2017

niteria added a comment to D4116: Make tagForCon non-linear.

I see, I looked it up and my assumptions about how cache lines work were incorrect. I will dig some more.

Oct 24 2017, 10:18 AM

Oct 22 2017

niteria added a comment to D4116: Make tagForCon non-linear.

Triggering major GC before codegen here https://phabricator.haskell.org/diffusion/GHC/browse/master/compiler/main/HscMain.hs;1e24a243b30c4dd5a7f3476e3e9927c4eb915c72$1330 significantly reduces variance. I get timings between 9s and 10s where before they would be between 8s and 12s.

Oct 22 2017, 11:03 PM
niteria added a comment to D4116: Make tagForCon non-linear.

Ok, I'm back to the cache miss theory. I misread the context switches number, the rate is constant, the number is bigger because we run longer.
Next thing to try is to deterministically trigger GC before codegen and see if it improves cache locality.

Oct 22 2017, 8:38 PM

Oct 21 2017

niteria added a comment to D4116: Make tagForCon non-linear.

Since TLB is also affected a lot, I suspect the causal relationship here is: more context switches -> lower TLB + L1/L2 cache misses. What causes the context switches I don't know.
I want to try with --numa, but I need to rebuild GHC for that.

Oct 21 2017, 8:56 PM
niteria added a comment to D4116: Make tagForCon non-linear.

More numbers:

Oct 21 2017, 3:14 PM
niteria added a comment to D4116: Make tagForCon non-linear.

The performance counters don't support the cache-miss theory:

Oct 21 2017, 2:31 PM
niteria added a comment to D4116: Make tagForCon non-linear.

Sorry to turn this into a debugging session, but things that I don't understand (base revision performance variance in this case) bother me.

Oct 21 2017, 2:11 PM
niteria added a comment to D4116: Make tagForCon non-linear.

On linux I also get results between 12s and 8s on the base revision, but pretty stable results on this diff.

Oct 21 2017, 11:10 AM
niteria updated the summary of D4116: Make tagForCon non-linear.
Oct 21 2017, 9:54 AM
niteria added a comment to D4116: Make tagForCon non-linear.

Hm, I don't trust my measurements here. It's overall a positive change, but I measured on OSX and the variance on the baseline was high. I get either 9s or 13s. I will remeasure on linux.

Oct 21 2017, 8:35 AM

Oct 20 2017

niteria added a comment to D4116: Make tagForCon non-linear.

This is not motivated by a real use case, I just had some time on the plane. It's not inconceivable though, to imagine enumerations this big.

Oct 20 2017, 10:43 PM
niteria created D4116: Make tagForCon non-linear.
Oct 20 2017, 10:43 PM

Sep 18 2017

niteria committed rGHCcdaf5f2027ea: [RTS] Add getObjectLoadStatus (authored by niteria).
[RTS] Add getObjectLoadStatus
Sep 18 2017, 11:19 AM
niteria closed D3963: [RTS] Add getObjectLoadStatus by committing rGHCcdaf5f2027ea: [RTS] Add getObjectLoadStatus.
Sep 18 2017, 11:19 AM

Sep 15 2017

niteria added a comment to D3963: [RTS] Add getObjectLoadStatus.

I'm happy with this version, I will land it on Monday if no one objects.

Sep 15 2017, 6:54 AM
niteria updated the diff for D3963: [RTS] Add getObjectLoadStatus.

Use @Phyx's suggestion

Sep 15 2017, 6:03 AM

Sep 14 2017

niteria added inline comments to D3963: [RTS] Add getObjectLoadStatus.
Sep 14 2017, 11:01 AM
niteria created D3963: [RTS] Add getObjectLoadStatus.
Sep 14 2017, 10:55 AM
niteria committed rGHCb6b56dd1b6ad: [RTS] Make -po work (authored by niteria).
[RTS] Make -po work
Sep 14 2017, 8:14 AM
niteria closed D3946: [RTS] Make -po work by committing rGHCb6b56dd1b6ad: [RTS] Make -po work.
Sep 14 2017, 8:14 AM
niteria added inline comments to rGHC0390e4a0f61e: Refactor to eliminate FamTyConShape.
Sep 14 2017, 5:55 AM
niteria added inline comments to rGHC0390e4a0f61e: Refactor to eliminate FamTyConShape.
Sep 14 2017, 5:26 AM

Sep 13 2017

niteria added a comment to D3946: [RTS] Make -po work.

Did you mean to accept it?

Sep 13 2017, 7:27 AM

Sep 11 2017

niteria added inline comments to D3946: [RTS] Make -po work.
Sep 11 2017, 11:54 AM
niteria created D3946: [RTS] Make -po work.
Sep 11 2017, 11:52 AM
niteria created D3944: [RTS] Harden against buffer overflow.
Sep 11 2017, 8:43 AM

Aug 17 2017

niteria added a comment to D3182: rts: Allow profile output path to be specified on RTS command line.

Btw assuming the interface is still up for discussion, I'd prefer to be able to pass the filename. That way I can do -po/dev/null in the case I only care about snapshot profiling. That would mean the filenames for heap profiles and allocation profiles would have to be specified separately.

Aug 17 2017, 10:44 AM
niteria added inline comments to D3182: rts: Allow profile output path to be specified on RTS command line.
Aug 17 2017, 10:26 AM

Aug 16 2017

niteria added a comment to D2067: Expose functions to generate profiling snapshots..

I will continue this line of work.
There's a lot of overlap between this and D3132.

Aug 16 2017, 1:27 PM