Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upMedia backend initialization in script/ makes recompilation slow #23127
Labels
Comments
bors-servo
added a commit
that referenced
this issue
Apr 15, 2019
Move media backend initialization to process startup This makes tinkering with the gstreamer backend _way_ more efficient, because it is no longer necessary to rebuild the script crate after every change. --- - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix #23127 - [x] There are tests for these changes <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23204) <!-- Reviewable:end -->
bors-servo
added a commit
that referenced
this issue
Apr 15, 2019
Move media backend initialization to process startup This makes tinkering with the gstreamer backend _way_ more efficient, because it is no longer necessary to rebuild the script crate after every change. --- - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix #23127 - [x] There are tests for these changes <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23204) <!-- Reviewable:end -->
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
One of my motivations for servo/media#209 was that changing the implementation of the gstreamer backend caused us to recompile script. This makes it really frustrating to perform exploratory work in that backend. Unfortunately, by adding just-in-time initialization of the backend throughout script, we have introduced the same problem. I propose that we move the initialization to component/servo instead, where we can run it in
run_content_processandServo::new, and accept that we may end up initializing it unnecessarily in exchange for significant developer ergonomic benefits.