I don't have a deep understanding of our URL classification requirements, but I wondering whether or not we need to classify first party sub resources. Each classification that's not short circuited dispatches to the URL Classifier background thread for table lookups, then dispatches back to the main thread to invoke the callback and proceed with the connection. This profile shows the first party subresources for a www.amazon.ca navigation being processed on the URL classifier thread. https://share.firefox.dev/4cbvJbF Numerous [verbose URL classification markers added](https://hg-edge.mozilla.org/try/rev/7c2a75adf105fd655285815d1cb66cbceb0de55f). Binary [here](https://treeherder.mozilla.org/jobs?repo=try&selectedTaskRun=aje5lI48RGmORwN5BjsJMg.0&tier=1%2C2%2C3&revision=4e8a6123e062a4743bfc3834723b2599c0246b39). I can see that Content Classifier Engine [exits early](https://searchfox.org/firefox-main/rev/187dc6baf299450446944dc90ba2239913004ba8/toolkit/components/content-classifier/content_classifier_engine/ContentClassifierEngine.cpp#23-27) on first party subresources. (although the runnables have already been created and dispatched to the URL classifier thread). While AsyncChannelClassifier::FeatureTask::DoLookup() is processing the requests. https://searchfox.org/firefox-main/rev/187dc6baf299450446944dc90ba2239913004ba8/netwerk/url-classifier/AsyncUrlChannelClassifier.cpp#732-749 If we could indeed skip classification of first party sub resources it would reduce the number of runnables, thread hops, and to some degree, latency.
Bug 2030021 Comment 0 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
I don't have a deep understanding of our URL classification requirements, but I wondering whether or not we need to classify first party sub resources. Each classification that's not short circuited dispatches to the URL Classifier background thread for table lookups, then dispatches back to the main thread to proceed with the connection. This profile shows the first party subresource runnables being processed on the URL classifier thread (www.amazon.ca navigation). https://share.firefox.dev/4cbvJbF Numerous [verbose URL classification markers added](https://hg-edge.mozilla.org/try/rev/7c2a75adf105fd655285815d1cb66cbceb0de55f). Binary [here](https://treeherder.mozilla.org/jobs?repo=try&selectedTaskRun=aje5lI48RGmORwN5BjsJMg.0&tier=1%2C2%2C3&revision=4e8a6123e062a4743bfc3834723b2599c0246b39). I can see that Content Classifier Engine [exits early](https://searchfox.org/firefox-main/rev/187dc6baf299450446944dc90ba2239913004ba8/toolkit/components/content-classifier/content_classifier_engine/ContentClassifierEngine.cpp#23-27) on first party subresources. (comment does not match code). (although the runnables have already been created and dispatched to the URL classifier thread). While AsyncChannelClassifier::FeatureTask::DoLookup() is processing the requests. https://searchfox.org/firefox-main/rev/187dc6baf299450446944dc90ba2239913004ba8/netwerk/url-classifier/AsyncUrlChannelClassifier.cpp#732-749 If we could indeed skip classification of first party sub resources it would reduce the number of runnables, thread hops, and to some degree, latency.
I don't have a deep understanding of our URL classification requirements, but I'm wondering whether or not we need to classify first party sub resources. Each classification that's not short circuited dispatches to the URL Classifier background thread for table lookups, then dispatches back to the main thread to proceed with the connection. This profile shows the first party subresource runnables being processed on the URL classifier thread (www.amazon.ca navigation). https://share.firefox.dev/4cbvJbF Numerous [verbose URL classification markers added](https://hg-edge.mozilla.org/try/rev/7c2a75adf105fd655285815d1cb66cbceb0de55f). Binary [here](https://treeherder.mozilla.org/jobs?repo=try&selectedTaskRun=aje5lI48RGmORwN5BjsJMg.0&tier=1%2C2%2C3&revision=4e8a6123e062a4743bfc3834723b2599c0246b39). I can see that Content Classifier Engine [exits early](https://searchfox.org/firefox-main/rev/187dc6baf299450446944dc90ba2239913004ba8/toolkit/components/content-classifier/content_classifier_engine/ContentClassifierEngine.cpp#23-27) on first party subresources. (comment does not match code). (although the runnables have already been created and dispatched to the URL classifier thread). While AsyncChannelClassifier::FeatureTask::DoLookup() is processing the requests. https://searchfox.org/firefox-main/rev/187dc6baf299450446944dc90ba2239913004ba8/netwerk/url-classifier/AsyncUrlChannelClassifier.cpp#732-749 If we could indeed skip classification of first party sub resources it would reduce the number of runnables, thread hops, and to some degree, latency.