Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add symbol files(.pdb/source) to NuGet packages #3

Closed
DavidKarlas opened this issue Jan 15, 2015 · 54 comments
Closed

Add symbol files(.pdb/source) to NuGet packages #3

DavidKarlas opened this issue Jan 15, 2015 · 54 comments
Assignees
Milestone

Comments

@DavidKarlas
Copy link
Contributor

It would be nice to be able to step inside Roslyn code when using NuGet packages.

This is nice guide on how to do this:
http://blog.davidebbo.com/2011/04/easy-way-to-publish-nuget-packages-with.html

@jaredpar
Copy link
Member

I agree it would be nice if we hooked into the source and symbol information into our packages.

@agocke do we have an issue tracking this yet?

@agocke
Copy link
Member

agocke commented Jan 15, 2015

Is this not the issue? ☺

From: Jared Parsons [mailto:notifications@github.com]
Sent: Wednesday, January 14, 2015 4:34 PM
To: dotnet/roslyn
Cc: Andy Gocke
Subject: Re: [roslyn] Add symbol files(.pdb/source) to NuGet packages (#3)

I agree it would be nice if we hooked into the source and symbol information into our packages.

@agockehttps://github.com/agocke do we have an issue tracking this yet?


Reply to this email directly or view it on GitHubhttps://github.com//issues/3#issuecomment-70020597.

@jaredpar
Copy link
Member

@agocke i didn't know if we had an existing internal one tracking it :)

@agocke
Copy link
Member

agocke commented Jan 15, 2015

Nope, I asked David to file it here

@Pilchie
Copy link
Member

Pilchie commented Jan 15, 2015

@jasonmalinowski mentioned that it would be nice to have those PDBs stamped for source server info from github as well.

@davkean
Copy link
Member

davkean commented Jan 15, 2015

We should make sure that both corefx and Roslyn use the same mechanism here.

@DavidKarlas
Copy link
Contributor Author

It would be also nice if you could make git tag for NuGet releases.

@jasonmalinowski
Copy link
Member

Yep, we haven't migrated our historical branches from CodePlex yet. I think @jaredpar is working on that.

@jaredpar jaredpar added this to the 1.0 milestone Jan 15, 2015
@jaredpar jaredpar modified the milestones: 1.0, 1.1 Jan 15, 2015
heejaechang referenced this issue in heejaechang/roslyn Jun 2, 2015
this performance improvement is particularly for devdiv bug # 1089540

this makes the file in the bug to be formatted in several seconds compared to several minutes on my machine.

there were several issues. each one fixed by

#1, use concurrency on gathering operations.
#2, don't use too much time to split work to chunks if that requires more work than actually formatting.
#3, don't blindly set beginning of a file as inseparable start point for certain formatting options.

...

but these don't actually address the most impactful root cause of this perf issues. which is perf issue of GetPrevious/GetNextToken API in compiler.
(dotnet#3244)

formatter internally uses GetDescendantTokens to get all tokens at once and cache them which takes less than 1 second for the entire file (2M bytes size) in the bug. and use the cache internally.

but certain part of formatter (Rule Provider) can't use that internal cache, so it has to use the GetPrevious/GetNextToken to move around tokens, which in this particular bug, takes more than 40 seconds on my machine. and that is not even for entire file. (less than 1/12 of tokens)

I opened a bug to compiler team, hopely so that we can get better perf on those APIs.

in this PR, I mitigated the issue either by making more things to run concurrently or by changing logic which requires those APIs.
heejaechang added a commit that referenced this issue Jun 4, 2015
make formatting performance better

...

this performance improvement is particularly for devdiv bug # 1089540

this makes the file in the bug to be formatted in several seconds compared to several minutes on my machine.

there were several issues. each one fixed by

#1, use concurrency on gathering operations.
#2, don't use too much time to split work to chunks if that requires more work than actually formatting.
#3, don't blindly set beginning of a file as inseparable start point for certain formatting options.

...

but these don't actually address the most impactful root cause of this perf issues. which is perf issue of GetPrevious/GetNextToken API in compiler.
(#3244)

formatter internally uses GetDescendantTokens to get all tokens at once and cache them which takes less than 1 second for the entire file (2M bytes size) in the bug. and use the cache internally.

but certain part of formatter (Rule Provider) can't use that internal cache, so it has to use the GetPrevious/GetNextToken to move around tokens, which in this particular bug, takes more than 40 seconds on my machine. and that is not even for entire file. (less than 1/12 of tokens)

I opened a bug to compiler team, hopely so that we can get better perf on those APIs.

in this PR, I mitigated the issue either by making more things to run concurrently or by changing logic which requires those APIs.
@johnkoerner
Copy link

Is there any update on this? I am seeing a crash and would like to step into Microsoft.CodeAnalysis.Workspaces to see what is causing it.

@jaredpar
Copy link
Member

@johnkoerner this is something we are still looking into actively. It fell off the radar while we were pushing for 2015 RTM but started picking it up again last week.

@amcasey
Copy link
Member

amcasey commented Oct 12, 2015

Are we still planning to do this for 1.1?

@ManishJayaswal ManishJayaswal assigned amcasey and unassigned agocke Oct 28, 2015
@ManishJayaswal
Copy link
Contributor

yes we should do this for 1.1.

@agocke
Copy link
Member

agocke commented Oct 28, 2015

Actually, after internal discussion I don't think we should do this at all. We upload our symbols to the Microsoft symbol servers, so the symbols should be available via the public servers.

@davkean
Copy link
Member

davkean commented Oct 28, 2015

The symbols we publish point exactly to what source that external users have access to?

@davkean
Copy link
Member

davkean commented Oct 28, 2015

Usually symbols have a command to pull it from source control, say SD, TFS, or even GIT from VSO. But I've yet to see a symbol that MS has published that has pulled from Github, which would be needed for non-Microsoft employees.

@davkean
Copy link
Member

davkean commented Oct 28, 2015

We'd basically need to use something like: https://github.com/GitTools/GitLink

@ManishJayaswal
Copy link
Contributor

@agocke do our pdbs have source server information? Maybe we should use GitLinks
https://github.com/GitTools/GitLink

ivanbasov added a commit to ivanbasov/roslyn that referenced this issue Jan 23, 2018
Neme12 added a commit to Neme12/roslyn that referenced this issue Mar 10, 2018
JieCarolHu pushed a commit that referenced this issue May 24, 2018
add expression body as one of fix to offer
genlu referenced this issue in genlu/roslyn Sep 16, 2019
NTaylorMullen pushed a commit that referenced this issue Mar 24, 2020
…iltering

Allow a IDynamicFileInfoProvider to be able to provide LSP diagnostics
dpoeschl pushed a commit that referenced this issue Apr 20, 2020
Fix crash bug when entering name before type and clicking OK
CyrusNajmabadi pushed a commit that referenced this issue Jul 11, 2020
Forward integration from dotnet/roslyn
dibarbet pushed a commit that referenced this issue Mar 29, 2024
Update protocol to v3 for MauiLaunchCustomizer brokered service
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests