diff options
author | Marc-Andre Laperle | 2020-08-22 03:10:16 +0000 |
---|---|---|
committer | Marc-André Laperle | 2020-08-26 03:11:40 +0000 |
commit | b87c2a793dd6c79a1cd431088912bc8bdc8cd8f9 (patch) | |
tree | 5b41e8ac1ae18f68003fa07c811eac77a23fcbf6 /core/org.eclipse.cdt.core/model/org | |
parent | 2b67c0bda992009721965d08ae72d911e3c31bcf (diff) | |
download | org.eclipse.cdt-b87c2a793dd6c79a1cd431088912bc8bdc8cd8f9.tar.gz org.eclipse.cdt-b87c2a793dd6c79a1cd431088912bc8bdc8cd8f9.tar.xz org.eclipse.cdt-b87c2a793dd6c79a1cd431088912bc8bdc8cd8f9.zip |
Bug 565553 - Improve performance of build command parsers with large number of files
Do not pretty-format *.language.settings.xml files in the workspace
plugin state area. These are not meant to be shared and looked by users
so they do not really need to be pretty-formatted. This saves a lot of
time for large projects with per-file language settings. For example, I
have seen this save 30 sec on a test project during serialization.
Change-Id: I27f8e0cfdc593f084d95bbed7aedb707570f1f6d
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
Diffstat (limited to 'core/org.eclipse.cdt.core/model/org')
-rw-r--r-- | core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/language/settings/providers/LanguageSettingsProvidersSerializer.java | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/language/settings/providers/LanguageSettingsProvidersSerializer.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/language/settings/providers/LanguageSettingsProvidersSerializer.java index 02110ec446f..6c75983cc1b 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/language/settings/providers/LanguageSettingsProvidersSerializer.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/language/settings/providers/LanguageSettingsProvidersSerializer.java @@ -40,7 +40,6 @@ import org.eclipse.cdt.core.settings.model.ICLanguageSettingEntry; import org.eclipse.cdt.core.settings.model.ICProjectDescription; import org.eclipse.cdt.core.settings.model.ICSettingEntry; import org.eclipse.cdt.internal.core.XmlUtil; -import org.eclipse.cdt.internal.core.model.Util; import org.eclipse.cdt.internal.core.settings.model.CConfigurationSpecSettings; import org.eclipse.cdt.internal.core.settings.model.IInternalCCfgInfo; import org.eclipse.cdt.internal.core.settings.model.SettingsModelMessages; @@ -588,11 +587,7 @@ public class LanguageSettingsProvidersSerializer { try { serializingLockWsp.acquire(); - String eol = Util.getLineSeparator(uriStoreWsp); - if (eol == null) { - eol = Util.getDefaultLineSeparator(); - } - XmlUtil.serializeXml(doc, uriStoreWsp, eol); + XmlUtil.serializeXml(doc, uriStoreWsp); // manufacture events while inside the lock events = createLanguageSettingsChangeEvents(broadcastingWorkspaceProviders); } finally { @@ -915,11 +910,7 @@ public class LanguageSettingsProvidersSerializer { if (isWorkspaceStoreEmpty) { new java.io.File(uriStoreWsp).delete(); } else { - String eol = Util.getLineSeparator(uriStoreWsp); - if (eol == null) { - eol = Util.getDefaultLineSeparator(project); - } - XmlUtil.serializeXml(docStoreWsp, uriStoreWsp, eol); + XmlUtil.serializeXml(docStoreWsp, uriStoreWsp); } // manufacture the event only if serialization was successful |