Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc-Andre Laperle2020-08-22 03:10:16 +0000
committerMarc-André Laperle2020-08-26 03:11:40 +0000
commitb87c2a793dd6c79a1cd431088912bc8bdc8cd8f9 (patch)
tree5b41e8ac1ae18f68003fa07c811eac77a23fcbf6 /core/org.eclipse.cdt.core/model/org
parent2b67c0bda992009721965d08ae72d911e3c31bcf (diff)
downloadorg.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.java13
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

Back to the top