Skip to content

Adopt llbuilds new env-bases section to avoid duplicate envs across commands - #1862

Open
rconnell9 wants to merge 3 commits into
swiftlang:mainfrom
rconnell9:rconnell/manfiest-envbases
Open

rconnell9 wants to merge 3 commits into
swiftlang:mainfrom
rconnell9:rconnell/manfiest-envbases

Conversation

@rconnell9

Copy link
Copy Markdown
Contributor

This is change 2/3 of the adoption of llbuilds new in-memory manifest transfer API.

This change adopts llbuilds new env-bases section to avoid passing duplicate environment variables across commands.

This change does not impact the high level build description. The build description continues to maintains the linkage between each task and its environment. Prior to writing the manifest we scan the environments of each task, adding them (if not a duplicate) as a top-level entry to the llbuild manifest. When commands are written, overrides are computed and inserted when required.

This change should have not impact on the command signature that llbuild computes (the env is simply pulled from a different location in llbuild). In other words this change should not require re-build.

Project Commands Before After Reduction Bases declared Commands using one
WebKit (WebKit.xcworkspace) 37,301 429.7 MiB 85.0 MiB −80.2% (−344.7 MiB) 34 4,064
llbuild (llbuild.xcodeproj) 4,010 9.635 MiB 9.455 MiB −1.9% (−185 KiB) 3 63

llbuild manifest parse (llbuild buildsystem parse), 10 runs

Project p50 before p50 after Δ p50 p90 before p90 after Δ p90
WebKit 2.292s 0.918s −59.9% 2.298s 0.922s −59.9%
llbuild 0.052s 0.051s −1.9% 0.053s 0.052s −1.9%

@rconnell9

Copy link
Copy Markdown
Contributor Author

@swift-ci test

@rconnell9

Copy link
Copy Markdown
Contributor Author

@swift-ci test windows

Comment thread Tests/SWBBuildSystemTests/BuildDescriptionConstructionTests.swift Outdated
@rconnell9

Copy link
Copy Markdown
Contributor Author

@swift-ci test

@rconnell9

Copy link
Copy Markdown
Contributor Author

@swift-ci test windows

4 similar comments
@rconnell9

Copy link
Copy Markdown
Contributor Author

@swift-ci test windows

@rconnell9

Copy link
Copy Markdown
Contributor Author

@swift-ci test windows

@rconnell9

Copy link
Copy Markdown
Contributor Author

@swift-ci test windows

@rjmansfield

Copy link
Copy Markdown
Contributor

@swift-ci test windows

Comment thread Tests/SWBTaskExecutionTests/EnvironmentBaseTableTests.swift Outdated

@rjmansfield rjmansfield left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just some nits.

Comment thread Sources/SWBTaskExecution/EnvironmentBaseTable.swift
@rconnell9

Copy link
Copy Markdown
Contributor Author

@swift-ci test

@rconnell9

Copy link
Copy Markdown
Contributor Author

@swift-ci test linux

@rconnell9

Copy link
Copy Markdown
Contributor Author

@swift-ci test macOS

@rconnell9

Copy link
Copy Markdown
Contributor Author

@swift-ci test linux

1 similar comment
@rconnell9

Copy link
Copy Markdown
Contributor Author

@swift-ci test linux

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants