Stream: t-compiler

Topic: fuzzy-pickles -Zself-profile


Jake Goulding (Nov 28 2018 at 16:10, on Zulip):
Self profiling results for fuzzy_pickles:

| Phase            | Time (ms)      | Queries        | Hits (%) |
| ---------------- | -------------- | -------------- | -------- |
| Parsing          | 46             |                |          |
| Expansion        | 587            |                |          |
| TypeChecking     | 344            | 1012824        | 97.66    |
| BorrowChecking   | 0              | 62138          | 100.00   |
| Codegen          | 931            | 396181         | 100.00   |
| Linking          | 51             | 55549          | 100.00   |
| Other            | 1094           | 3487992        | 99.62    |

Optimization level: No
Incremental: on

"Other" isn't super informative, and I don't have much of an idea what I can do to make things better from this info.

Jake Goulding (Nov 28 2018 at 16:10, on Zulip):

Also, 0 ms for borrow checking is not too shabby

mw (Nov 28 2018 at 16:11, on Zulip):

that's a lot of macro expansion :)

nikomatsakis (Nov 28 2018 at 16:11, on Zulip):

well one of our next steps is to make it more detailed @Jake Goulding =)

nikomatsakis (Nov 28 2018 at 16:12, on Zulip):

seems like your case would benefit

Jake Goulding (Nov 28 2018 at 16:12, on Zulip):

You have no idea. It's the Rust AST with multiple derives for every AST node.

mw (Nov 28 2018 at 16:12, on Zulip):

so this is from an incrmental build after touch src/lib.rs?

Wesley Wiser (Nov 28 2018 at 16:12, on Zulip):

You know, I think we count pre-query time in Other.

Jake Goulding (Nov 28 2018 at 16:13, on Zulip):

Ooops, yeah, didn't copy that part. It's incremental and just a touch src/lib.rs

Wesley Wiser (Nov 28 2018 at 16:13, on Zulip):

(Not that all of that is pre-query but it would probably be worth breaking it out separately)

Jake Goulding (Nov 28 2018 at 16:13, on Zulip):

On the upshot, this 3 seconds is notably faster than it was at the start of the year.

mw (Nov 28 2018 at 16:14, on Zulip):

it has 100% cache hit rate and still is so slow :(

Wesley Wiser (Nov 28 2018 at 16:14, on Zulip):

I don't think hashing/deserialization is counted in the results either.

Jake Goulding (Nov 28 2018 at 16:18, on Zulip):

@mw actually, why aren't they all 100% hit rate? nothing changed...

mw (Nov 28 2018 at 16:19, on Zulip):

I don't know

mw (Nov 28 2018 at 16:20, on Zulip):

can you run with -Zincremental-info?

mw (Nov 28 2018 at 16:20, on Zulip):

that might give some useful information

Jake Goulding (Nov 28 2018 at 16:26, on Zulip):

lot of output

nikomatsakis (Nov 28 2018 at 16:27, on Zulip):

it has 100% cache hit rate and still is so slow :(

one thing @mw we didn't have time to cover but I was wondering if there are ways we can dig into what is taking time for the "incremental scenarios" (e.g., this one)

nikomatsakis (Nov 28 2018 at 16:28, on Zulip):

interesting to see

| Codegen          | 931            | 396181         | 100.00   |

still one full second despite 100% hit rate :) presumably @Wesley Wiser we're counting something here beyond query execution

simulacrum (Nov 28 2018 at 16:48, on Zulip):

Well with ~400 thousand queries and each one being an indirect function call, hashing, and hashmap lookup I could believe that takes a second...

Jake Goulding (Nov 28 2018 at 16:50, on Zulip):

~2.3 ┬Ás per query

simulacrum (Nov 28 2018 at 16:57, on Zulip):

That seems reasonable to me but I don't have a great sense of computer speeds. Maybe it's quite large.

Jake Goulding (Nov 28 2018 at 17:03, on Zulip):

1 GHz = 1 op / ns; so this is ~7K operations (take with grain of salt)

simulacrum (Nov 28 2018 at 21:23, on Zulip):

This specific task is memory latency heavy I think since we're querying HashMaps so much, but I could be wrong

nikomatsakis (Nov 29 2018 at 14:55, on Zulip):

well, it may be that this argues for structuring somerthing in codegen into bigger groups

nikomatsakis (Nov 29 2018 at 14:55, on Zulip):

so that we don't have as many fine-grained queries to perform

nikomatsakis (Nov 29 2018 at 14:55, on Zulip):

I could believe that

Last update: Nov 20 2019 at 01:05UTC