CARVIEW |
Select Language
HTTP/2 301
date: Sat, 26 Jul 2025 08:40:37 GMT
content-length: 0
location: https://github.com/dotnet/android/pull/2309
server-timing: nginx;desc="NGINX";dur=1.072,glb;desc="GLB";dur=101.591087
x-voltron-version: a2eb102
vary: Accept-Encoding, Accept, X-Requested-With
server: github.com
x-frame-options: DENY
strict-transport-security: max-age=31536000; includeSubDomains; preload
set-cookie: _gh_sess=CDw3ocxASS8JVDKWVY4iGUn%2BAVskNJAHmGQuKQjy%2FRrVVtqaNR2dDjvmyEJVRl3M6AISfgY1f1T4bpjgi1qRmsE7LSICJ7Y7CxJP5eDS9U%2BfWEQJgTPxJrzU7DqJsNDDoBbtHSyRlIbVYfhzSH%2FLLtARaDOFp07HS7bKnu7dLpfQ5Q9gSbPr%2F69GzesOzdldLsoYN%2F7GWt9fmXwegz4gFwdfVsqfXHJ%2BGWDAZ%2BuyX6%2FIIsGJJpaZF0cjYTF4ALqfKDvlcQ5mNa1dGsg7yIl3Wg%3D%3D--sAFTt6rfi266cR6u--hT%2Bp4DzCxfGM9sLRjawpNw%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.518774878.1753519237; Path=/; Domain=github.com; Expires=Sun, 26 Jul 2026 08:40:37 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Sun, 26 Jul 2026 08:40:37 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: 9EE6:3ED739:368213:4968D2:68849485
HTTP/2 200
date: Sat, 26 Jul 2025 08:40:38 GMT
content-type: text/html; charset=utf-8
cache-control: no-cache
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
referrer-policy: no-referrer-when-downgrade
server-timing: pull_request_layout-fragment;desc="pull_request_layout fragment";dur=372.372778,conversation_content-fragment;desc="conversation_content fragment";dur=503.410842,conversation_sidebar-fragment;desc="conversation_sidebar fragment";dur=273.179886,nginx;desc="NGINX";dur=1.131689,glb;desc="GLB";dur=101.27657
strict-transport-security: max-age=31536000; includeSubdomains; preload
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
x-content-type-options: nosniff
x-frame-options: deny
x-voltron-version: a2eb102
x-xss-protection: 0
server: github.com
content-encoding: gzip
accept-ranges: bytes
x-github-request-id: 9EE6:3ED739:36822D:4968F6:68849485
[Xamarin.Android.Build.Tasks] remove unused Inputs/Outputs by jonathanpeppers · Pull Request #2309 · dotnet/android · GitHub
Skip to content
Navigation Menu
{{ message }}
-
Notifications
You must be signed in to change notification settings - Fork 555
[Xamarin.Android.Build.Tasks] remove unused Inputs/Outputs #2309
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
Merged
dellis1972
merged 1 commit into
dotnet:master
from
jonathanpeppers:remove-inputs-outputs
Oct 17, 2018
Merged
[Xamarin.Android.Build.Tasks] remove unused Inputs/Outputs #2309
dellis1972
merged 1 commit into
dotnet:master
from
jonathanpeppers:remove-inputs-outputs
Oct 17, 2018
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
While reviewing our MSBuild targets, I noticed three targets that declared `Inputs` and `Outputs`, but did not actually update any files: - `_CollectConfigFiles` - `_CollectMdbFiles` - `_CollectPdbFiles` This means that MSBuild was unnecessarily looking at files to see if they exist, and might be comparing timestamps as well. The targets would also _always_ run, so it doesn't matter to have `Inputs` and `Outputs` in these targets at all! I basically removed these `Inputs` and `Outputs`, and saw a performance gain with just doing that. I also saw performance gains to targets that depend on these three targets. Since `Inputs` and `Outputs` timing is internal to MSBuild, I am not sure where the actual time is being tallied here. Before: 1 ms _CopyConfigFiles 1 calls 3 ms _CopyMdbFiles 2 calls 3 ms _CollectMdbFiles 1 calls 4 ms _CopyPdbFiles 1 calls 5 ms _CollectPdbFiles 1 calls 5 ms _CollectConfigFiles 1 calls 20 ms _ConvertPdbFiles 1 calls A total of ~46ms After: 0 ms _ConvertPdbFiles 1 calls 0 ms _CopyPdbFiles 1 calls 1 ms _CollectMdbFiles 1 calls 1 ms _CopyMdbFiles 2 calls 1 ms _CopyConfigFiles 1 calls 2 ms _CollectConfigFiles 1 calls 5 ms _CollectPdbFiles 1 calls A total of ~10ms An overall improvement of ~36ms. This was the `samples/HelloWorld` project in this repo, a build with no changes. I suspect the improvement would be even better for larger projects.
Build logs for this change: logs.zip |
dellis1972
approved these changes
Oct 17, 2018
@jonathanpeppers looks like I was a bit overzealous with the Inputs and Outputs then :) This looks good. |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
You can’t perform that action at this time.
While reviewing our MSBuild targets, I noticed three targets that
declared
Inputs
andOutputs
, but did not actually update anyfiles:
_CollectConfigFiles
_CollectMdbFiles
_CollectPdbFiles
This means that MSBuild was unnecessarily looking at files to see if
they exist, and might be comparing timestamps as well. The targets
would also always run, so it doesn't matter to have
Inputs
andOutputs
in these targets at all!I basically removed these
Inputs
andOutputs
, and saw aperformance gain with just doing that. I also saw performance gains to
targets that depend on these three targets. Since
Inputs
andOutputs
timing is internal to MSBuild, I am not sure where theactual time is being tallied here.
A total of ~46ms
A total of ~10ms
An overall improvement of ~36ms.
This was the
samples/HelloWorld
project in this repo, a build withno changes. I suspect the improvement would be even better for larger
projects.