On Fri, Mar 21, 2014 at 5:44 PM, Nicholas Nethercote
<n.netherc...@gmail.com> wrote:
>
> I should clarify: that's the memory consumption that's identified as
> belonging to the compartment, but that's not the whole picture. Some
> compartment data gets reported at the level of the runtime, including
> 'script-sources' and 'script-data'. Our increase for these over the
> past year is 1.5 MiB (see
> https://bugzilla.mozilla.org/show_bug.cgi?id=986323#c1). That's purely
> due to loading more code, and is unrelated to compartment overhead.
> Lazy loading will help there.

Another way in which extra JS code affects memory usage is the
start-up cache, which in a new-ish profile on my Mac is 7.5 MiB. I've
included a list below showing all the entries in the start-up cache
and how much space they take. (All the 'jsloader' ones are XDR encoded
bytecode, which is why they're a lot bigger than the original source
code.) If anyone can identify entries that could be lazily loaded,
please speak up or file bugs.

Nick


 782336, xulcache/resource/app/chrome/browser/content/browser/browser.js
 315392, xblcache/resource/app/chrome/browser/content/browser/tabbrowser.xml
 274432, jsloader/resource/gre/modules/addons/XPIProvider.jsm
 196608, jsloader/resource/gre/components/nsSearchService.js
 188416, jsloader/resource/gre/modules/Webapps.jsm
 155648, xblcache/resource/app/chrome/browser/content/browser/urlbarBindings.xml
 155648, jsloader/resource/app/modules/CustomizableUI.jsm
 139264, jsloader/resource/app/modules/sessionstore/SessionStore.jsm
 135168, jsloader/resource/gre/modules/Metrics.jsm
 131072, jsloader/resource/gre/modules/PlacesUtils.jsm
 118784, jsloader/resource/gre/modules/AddonManager.jsm
 114688, 
xblcache/resource/gre/chrome/toolkit/content/global/bindings/autocomplete.xml
 98304, jsloader/resource/app/components/nsBrowserGlue.js
 94208, jsloader/resource/app/modules/experiments/Experiments.jsm
 90112, 
xulcache/resource/app/chrome/browser/content/browser/places/browserPlacesViews.js
 90112, xblcache/resource/gre/chrome/toolkit/content/global/bindings/tree.xml
 86016, xulcache/resource/app/chrome/browser/content/browser/nsContextMenu.js
 81920, jsloader/resource/gre/modules/devtools/dbg-client.jsm
 73728, xblcache/resource/gre/chrome/toolkit/content/global/bindings/browser.xml
 73728, jsloader/resource/gre/modules/SocialService.jsm
 73728, jsloader/resource/gre/components/PeerConnection.js
 73728, jsloader/resource/gre/components/DataReportingService.js
 69632, xulcache/resource/app/chrome/browser/content/browser/places/treeView.js
 69632, 
xulcache/resource/app/chrome/browser/content/browser/places/controller.js
 69632, xblcache/resource/gre/chrome/toolkit/content/global/bindings/listbox.xml
 61440, 
xulcache/resource/app/chrome/browser/content/browser/downloads/downloads.js
 61440, xblcache/resource/gre/chrome/toolkit/content/global/bindings/textbox.xml
 61440, jsloader/resource/gre/components/nsPlacesAutoComplete.js
 61440, jsloader/resource/gre/components/nsContentPrefService.js
 57344, xblcache/resource/app/chrome/browser/content/browser/socialchat.xml
 57344, xblcache/resource/app/chrome/browser/content/browser/search/search.xml
 57344, jsloader/resource/app/modules/PlacesUIUtils.jsm
 57344, jsloader/resource/app/modules/DownloadsCommon.jsm
 57344, jsloader/resource/app/modules/CustomizableWidgets.jsm
 57344, jsloader/resource/app/chrome/shumway/content/ShumwayStreamConverter.jsm
 53248, 
xblcache/resource/gre/chrome/toolkit/content/global/bindings/scrollbox.xml
 53248, jsloader/resource/gre/modules/devtools/SourceMap.jsm
 53248, jsloader/resource/gre/modules/TelemetryPing.jsm
 53248, jsloader/resource/gre/components/nsLivemarkService.js
 53248, jsloader/resource/app/modules/devtools/ViewHelpers.jsm
 49152, 
xulcache/resource/app/chrome/browser/content/browser/places/editBookmarkOverlay.js
 49152, xblcache/resource/gre/chrome/toolkit/content/global/bindings/tabbox.xml
 49152, jsloader/resource/gre/modules/osfile/osfile_async_front.jsm
 49152, jsloader/resource/gre/components/nsHandlerService.js
 49152, jsloader/resource/app/chrome/pdfjs/content/PdfStreamConverter.jsm
 45056, xulcache/resource/gre/chrome/toolkit/content/global/contentAreaUtils.js
 45056, xblcache/resource/gre/chrome/toolkit/content/global/bindings/popup.xml
 45056, 
xblcache/resource/app/chrome/browser/content/browser/customizableui/toolbar.xml
 45056, jsloader/resource/gre/modules/LightweightThemeManager.jsm
 45056, jsloader/resource/gre/modules/ContentPrefService2.jsm
 45056, jsloader/resource/gre/modules/LightweightThemeManager.jsm
 45056, jsloader/resource/gre/modules/ContentPrefService2.jsm
 45056, jsloader/resource/gre/modules/BrowserElementParent.jsm
 40960, xblcache/resource/app/chrome/browser/content/browser/places/menu.xml
 40960, jsloader/resource/gre/modules/commonjs/toolkit/loader.js
 40960, jsloader/resource/gre/modules/PopupNotifications.jsm
 40960, jsloader/resource/gre/modules/FxAccounts.jsm
 40960, jsloader/resource/gre/modules/CrashManager.jsm
 40960, jsloader/resource/app/components/WebContentConverter.js
 36864, xblcache/resource/gre/chrome/toolkit/content/global/bindings/toolbar.xml
 36864, 
xblcache/resource/gre/chrome/toolkit/content/global/bindings/richlistbox.xml
 36864, 
xblcache/resource/gre/chrome/toolkit/content/global/bindings/notification.xml
 36864, jsloader/resource/gre/modules/osfile/osfile_shared_allthreads.jsm
 36864, jsloader/resource/gre/modules/PageThumbs.jsm
 36864, jsloader/resource/gre/modules/NativeApp.jsm
 36864, jsloader/resource/gre/modules/BookmarkJSONUtils.jsm
 36864, jsloader/resource/app/modules/devtools/gDevTools.jsm
 36864, jsloader/resource/app/modules/Social.jsm
 32768, 
xblcache/resource/app/chrome/browser/content/browser/customizableui/panelUI.xml
 32768, jsloader/resource/gre/modules/services-sync/util.js
 32768, jsloader/resource/gre/modules/Sqlite.jsm
 32768, jsloader/resource/gre/modules/PlacesBackups.jsm
 32768, jsloader/resource/gre/modules/NewTabUtils.jsm
 32768, jsloader/resource/gre/modules/BrowserElementPromptService.jsm
 32768, jsloader/resource/gre/modules/AppsUtils.jsm
 32768, jsloader/resource/gre/components/nsUrlClassifierLib.js
 32768, jsloader/resource/gre/components/InterAppCommService.js
 32768, jsloader/resource/app/modules/BrowserUITelemetry.jsm
 32768, jsloader/resource/app/components/nsBrowserContentHandler.js
 28672, xulcache/resource/app/chrome/browser/content/browser/utilityOverlay.js
 28672, xblcache/resource/gre/chrome/toolkit/content/global/bindings/button.xml
 28672, jssubloader/185/resource/app/modules/devtools/main.js
 28672, jssubloader/185/resource/app/chrome/browser/content/browser/sanitize.js
 28672, jsloader/resource/gre/modules/addons/PluginProvider.jsm
 28672, jsloader/resource/gre/modules/Log.jsm
 28672, jsloader/resource/gre/components/nsLoginManager.js
 24576, 
xulcache/resource/app/chrome/browser/content/browser/customizableui/panelUI.js
 24576, xblcache/resource/gre/chrome/toolkit/content/global/bindings/text.xml
 24576, xblcache/resource/gre/chrome/toolkit/content/global/bindings/general.xml
 24576, jssubloader/185/resource/app/modules/devtools/profiler/controller.js
 24576, jsloader/resource/gre/modules/services-common/utils.js
 24576, jsloader/resource/gre/modules/services-common/rest.js
 24576, jsloader/resource/gre/modules/DOMIdentity.jsm
 24576, jsloader/resource/app/modules/webrtcUI.jsm
 24576, jsloader/resource/app/modules/BrowserNewTabPreloader.jsm
 20480, xulcache/resource/gre/chrome/toolkit/content/global/viewSourceUtils.js
 20480, 
xulcache/resource/app/chrome/browser/content/browser/downloads/indicator.js
 20480, xblcache/resource/gre/chrome/toolkit/content/global/bindings/menu.xml
 20480, jssubloader/185/resource/gre/modules/Promise-backend.js
 20480, jsloader/resource/gre/modules/services-crypto/utils.js
 20480, jsloader/resource/gre/modules/devtools/Loader.jsm
 20480, jsloader/resource/gre/modules/services-crypto/utils.js
 20480, jsloader/resource/gre/modules/devtools/Loader.jsm
 20480, jsloader/resource/gre/modules/devtools/Console.jsm
 20480, jsloader/resource/gre/modules/InlineSpellChecker.jsm
 20480, jsloader/resource/gre/modules/ActivitiesService.jsm
 20480, jsloader/resource/gre/components/nsUrlClassifierListManager.js
 20480, jsloader/resource/gre/components/nsUrlClassifierHashCompleter.js
 20480, jsloader/resource/app/modules/sessionstore/ContentRestore.jsm
 20480, jsloader/resource/app/modules/distribution.js
 16384, xulcache/resource/gre/chrome/toolkit/content/global/printUtils.js
 16384, jssubloader/185/resource/gre/modules/devtools/server/transport.js
 16384, jssubloader/185/resource/gre/modules/commonjs/sdk/platform/xpcom.js
 16384, jsloader/resource/gre/modules/Preferences.jsm
 16384, jsloader/resource/gre/modules/OfflineCacheInstaller.jsm
 16384, jsloader/resource/gre/modules/NotificationDB.jsm
 16384, jsloader/resource/gre/modules/FxAccountsClient.jsm
 16384, jsloader/resource/gre/modules/CharsetMenu.jsm
 16384, jsloader/resource/gre/modules/BackgroundPageThumbs.jsm
 16384, jsloader/resource/gre/modules/AsyncShutdown.jsm
 16384, jsloader/resource/gre/components/nsUpdateTimerManager.js
 16384, jsloader/resource/app/modules/sessionstore/SessionHistory.jsm
 16384, jsloader/resource/app/modules/sessionstore/SessionFile.jsm
 16384, jsloader/resource/app/modules/WebappManager.jsm
 16384, jsloader/resource/app/components/nsSessionStartup.js
 16384, jsloader/resource/app/chrome/pdfjs/content/PdfJs.jsm
 12288, jssubloader/185/resource/gre/modules/devtools/event-emitter.js
 12288, jssubloader/185/resource/gre/modules/devtools/DevToolsUtils.js
 12288, jssubloader/185/resource/gre/modules/commonjs/sdk/core/heritage.js
 12288, jsloader/resource/gre/modules/services-sync/constants.js
 12288, jsloader/resource/gre/modules/osfile/osfile_unix_allthreads.jsm
 12288, jsloader/resource/gre/modules/commonjs/sdk/core/promise.js
 12288, jsloader/resource/gre/modules/XPCOMUtils.jsm
 12288, jsloader/resource/gre/modules/ThirdPartyCookieProbe.jsm
 12288, jsloader/resource/gre/modules/SystemMessagePermissionsChecker.jsm
 12288, jsloader/resource/gre/modules/Services.jsm
 12288, jsloader/resource/gre/modules/SafeBrowsing.jsm
 12288, jsloader/resource/gre/modules/PluralForm.jsm
 12288, jsloader/resource/gre/modules/PermissionsTable.jsm
 12288, jsloader/resource/gre/modules/PermissionSettings.jsm
 12288, jsloader/resource/gre/modules/NetUtil.jsm
 12288, jsloader/resource/gre/modules/LightweightThemeConsumer.jsm
 12288, jsloader/resource/gre/modules/FxAccountsCommon.js
 12288, jsloader/resource/gre/modules/FormData.jsm
 12288, jsloader/resource/gre/components/nsURLFormatter.js
 12288, jsloader/resource/gre/components/marionettecomponent.js
 12288, jsloader/resource/gre/components/addonManager.js
 12288, jsloader/resource/app/modules/sessionstore/TabState.jsm
 12288, jsloader/resource/app/modules/sessionstore/SessionSaver.jsm
 12288, jsloader/resource/app/modules/PanelWideWidgetTracker.jsm
 12288, jsloader/resource/app/modules/NetworkPrioritizer.jsm
 12288, jsloader/resource/app/modules/AboutHome.jsm
 12288, jsloader/resource/app/modules/NetworkPrioritizer.jsm
 12288, jsloader/resource/app/modules/AboutHome.jsm
 12288, jsloader/resource/app/chrome/pdfjs/content/network.js
 8192, xulcache/resource/gre/chrome/toolkit/content/global/viewZoomOverlay.js
 8192, xulcache/resource/gre/chrome/toolkit/content/global/globalOverlay.js
 8192, 
xblcache/resource/gre/chrome/toolkit/content/global/bindings/toolbarbutton.xml
 8192, 
xblcache/resource/gre/chrome/toolkit/content/global/bindings/stringbundle.xml
 8192, 
xblcache/resource/app/chrome/browser/content/browser/downloads/download.xml
 8192, jssubloader/185/resource/gre/modules/commonjs/sdk/util/object.js
 8192, jssubloader/185/resource/gre/modules/commonjs/sdk/util/array.js
 8192, jssubloader/185/resource/gre/modules/commonjs/sdk/system/events.js
 8192, jsloader/resource/gre/modules/services-common/stringbundle.js
 8192, jsloader/resource/gre/modules/services-common/observers.js
 8192, jsloader/resource/gre/modules/services-common/hawkrequest.js
 8192, jsloader/resource/gre/modules/services-common/hawkclient.js
 8192, jsloader/resource/gre/modules/services-common/async.js
 8192, jsloader/resource/gre/modules/osfile/ospath_unix.jsm
 8192, jsloader/resource/gre/modules/osfile/_PromiseWorker.jsm
 8192, jsloader/resource/gre/modules/devtools/event-emitter.js
 8192, jsloader/resource/gre/modules/devtools/Require.jsm
 8192, jsloader/resource/gre/modules/XPathGenerator.jsm
 8192, jsloader/resource/gre/modules/WindowDraggingUtils.jsm
 8192, jsloader/resource/gre/modules/WebappOSUtils.jsm
 8192, jsloader/resource/gre/modules/UITelemetry.jsm
 8192, jsloader/resource/gre/modules/Task.jsm
 8192, jsloader/resource/gre/modules/PermissionsInstaller.jsm
 8192, jsloader/resource/gre/modules/IndexedDBHelper.jsm
 8192, jsloader/resource/gre/modules/FreeSpaceWatcher.jsm
 8192, jsloader/resource/gre/modules/FileUtils.jsm
 8192, jsloader/resource/gre/modules/DeferredTask.jsm
 8192, jsloader/resource/gre/modules/Credentials.jsm
 8192, jsloader/resource/gre/modules/CrashMonitor.jsm
 8192, jsloader/resource/gre/modules/ContentPrefStore.jsm
 8192, jsloader/resource/gre/components/reftest-cmdline.js
 8192, jsloader/resource/gre/components/nsDefaultCLH.js
 8192, jsloader/resource/gre/components/messageWakeupService.js
 8192, jsloader/resource/gre/components/Weave.js
 8192, jsloader/resource/gre/components/PageThumbsProtocol.js
 8192, jsloader/resource/gre/components/FormHistoryStartup.js
 8192, jsloader/resource/gre/components/BrowserElementParent.js
 8192, jsloader/resource/app/modules/sessionstore/SessionStorage.jsm
 8192, jsloader/resource/app/modules/sessionstore/PageStyle.jsm
 8192, jsloader/resource/app/modules/sessionstore/FrameTree.jsm
 8192, jsloader/resource/app/modules/ContentLinkHandler.jsm
 8192, jsloader/resource/app/components/devtools-clhandler.js
 8192, jsloader/resource/app/chrome/shumway/content/ShumwayUtils.jsm
 8192, jsloader/resource/app/chrome/pdfjs/content/PdfRedirector.jsm
 4096, xulcache/resource/gre/chrome/toolkit/content/global/macWindowMenu.js
 4096, 
xblcache/resource/gre/chrome/toolkit/content/global/platformHTMLBindings.xml
 4096, 
xblcache/resource/gre/chrome/toolkit/content/global/bindings/scrollbar.xml
 4096, jssubloader/185/resource/gre/modules/commonjs/sdk/core/namespace.js
 4096, jsloader/resource/gre/modules/osfile/osfile_native.jsm
 4096, jsloader/resource/gre/modules/TelemetryStopwatch.jsm
 4096, jsloader/resource/gre/modules/ScrollPosition.jsm
 4096, jsloader/resource/gre/modules/PrivateBrowsingUtils.jsm
 4096, jsloader/resource/gre/modules/Deprecated.jsm
 4096, jsloader/resource/gre/modules/BrowserUtils.jsm
 4096, jsloader/resource/gre/modules/AppDownloadManager.jsm
 4096, jsloader/resource/gre/modules/ActivitiesServiceFilter.jsm
 4096, jsloader/resource/gre/components/recording-cmdline.js
 4096, jsloader/resource/gre/components/nsUpdateServiceStub.js
 4096, jsloader/resource/gre/components/PushServiceLauncher.js
 4096, jsloader/resource/app/modules/sessionstore/GlobalState.jsm
 4096, jsloader/resource/app/modules/sessionstore/DocShellCapabilities.jsm
 4096, jsloader/resource/app/modules/ContentClick.jsm
 4096, jsloader/resource/app/components/ExperimentsService.js
 4096, jsloader/resource/app/components/DownloadsStartup.js
 2048, xulcache/resource/gre/chrome/toolkit/content/global/editMenuOverlay.js
 2048, xblcache/resource/gre/chrome/toolkit/content/global/bindings/splitter.xml
 2048, jssubloader/185/resource/gre/modules/commonjs/sdk/util/uuid.js
 2048, jssubloader/185/resource/app/modules/devtools/profiler/consts.js
 2048, jsloader/resource/gre/modules/osfile/ospath.jsm
 2048, jsloader/resource/gre/modules/osfile.jsm
 2048, jsloader/resource/gre/modules/debug.js
 2048, jsloader/resource/gre/modules/Timer.jsm
 2048, jsloader/resource/gre/modules/TelemetryTimestamps.jsm
 2048, jsloader/resource/gre/modules/FxAccountsUtils.jsm
 2048, jsloader/resource/gre/components/nsIDService.js
 2048, jsloader/resource/gre/components/nsCrashMonitor.js
 2048, jsloader/resource/gre/components/TelemetryStartup.js
 2048, jsloader/resource/gre/components/CrashService.js
 2048, jsloader/resource/app/modules/sessionstore/Utils.jsm
 2048, jsloader/resource/app/modules/sessionstore/TabStateCache.jsm
 2048, jsloader/resource/app/modules/RecentWindow.jsm
 2048, jsloader/resource/app/components/nsSetDefaultBrowser.js
 1024, jsloader/resource/gre/modules/devtools/DevToolsUtils.jsm
 1024, jsloader/resource/gre/modules/Promise.jsm
 496, xulcache/resource/gre/chrome/toolkit/content/global/inlineSpellCheckUI.js
 480, jsloader/resource/app/chrome/pdfjs/content/default_preferences.js
 432, jsloader/resource/gre/modules/reflect.jsm
 416, jsloader/resource/gre/modules/ctypes.jsm
 208, jsloader/resource/gre/modules/WindowsPrefSync.jsm
 96, nsXULPrototypeCache.startupCache
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to