nemo r81 - trunk/broker
- From: arj svn gnome org
- To: svn-commits-list gnome org
- Subject: nemo r81 - trunk/broker
- Date: Thu, 7 Feb 2008 14:37:30 +0000 (GMT)
Author: arj
Date: Thu Feb 7 14:37:30 2008
New Revision: 81
URL: http://svn.gnome.org/viewvc/nemo?rev=81&view=rev
Log:
Improve performance by using StringBuilder instead of concatting strings
Modified:
trunk/broker/Xesam.cs
Modified: trunk/broker/Xesam.cs
==============================================================================
--- trunk/broker/Xesam.cs (original)
+++ trunk/broker/Xesam.cs Thu Feb 7 14:37:30 2008
@@ -154,22 +154,25 @@
System.Console.WriteLine("search xesam for {0} files with session id {1}, trying to get {2}", tmp_filenames.Count, this_session_id, tmp_filenames.Count);
- string xml_string = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
- "<request xmlns=\"http://freedesktop.org/standards/xesam/1.0/query\">" +
- " <query>" +
- " <inSet> " +
- " <field name=\"xesam:url\"/> ";
-
- foreach (string filename in tmp_filenames)
- xml_string += " <string>" + "file://" + filename + "</string> ";
-
- xml_string += " </inSet> ";
- xml_string += " </query> ";
- xml_string += "</request> ";
+ System.Text.StringBuilder b = new System.Text.StringBuilder(
+ @"<?xml version=""1.0"" encoding=""UTF-8""?>
+ <request xmlns=""http://freedesktop.org/standards/xesam/1.0/query"">
+ <query>
+ <inSet><field name=""xesam:url""/>");
+
+ foreach (string filename in tmp_filenames) {
+ b.Append("<string>file://");
+ b.Append(filename);
+ b.Append("</string>");
+ }
+
+ b.Append(@"</inSet>
+ </query>
+ </request>");
// System.Console.WriteLine(xml_string);
- string search_id = bus_search.NewSearch(this_session_id, xml_string);
+ string search_id = bus_search.NewSearch(this_session_id, b.ToString());
hits_added_callbacks.Add(search_id, new Callback(tmp_filenames.Count, delegate(ref int count, UInt32 amount) {
System.Console.WriteLine("hits added in get metadata: {0} - {1}", amount, this_session_id);
@@ -217,21 +220,21 @@
string session_id = bus_search.NewSession();
bus_search.SetProperty(session_id, "hit.fields", new string[] { "snippet" });
- string xml_string = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
-"<request xmlns=\"http://freedesktop.org/standards/xesam/1.0/query\">" +
-" <query>" +
-" <and>" +
-" <inSet> " +
-" <field name=\"xesam:url\"/> " +
-" <string>" + "file://" + uri + "</string> " +
-" </inSet> " +
-" <fullText> " +
-" <string>" + search_string + "</string> " +
-" </fullText> " +
-" </and>" +
-" </query> " +
-"</request> ";
-
+ string xml_string = String.Format(@"<?xml version=""1.0"" encoding=""UTF-8""?>
+ <request xmlns=""http://freedesktop.org/standards/xesam/1.0/query"">
+ <query>
+ <and>
+ <inSet>
+ <field name=""xesam:url""/>
+ <string>file://{0}</string>
+ </inSet>
+ <fullText>
+ <string>{1}</string>
+ </fullText>
+ </and>
+ </query>
+</request>", uri, search_string);
+
string search_id = bus_search.NewSearch(session_id, xml_string);
hits_added_callbacks.Add(search_id, new Callback(1, delegate(ref int count, UInt32 amount) {
@@ -289,20 +292,21 @@
bool got_results = false;
- string xml_string = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
-"<request xmlns=\"http://freedesktop.org/standards/xesam/1.0/query\">" +
-" <query>" +
-" <and> " +
-" <inSet> " +
-" <field name=\"mime\"/> " +
-Helpers.reduce_to_string(Helpers.map_strings(string_start(), supported_mimetypes, string_end())) +
-" </inSet> " +
-" <fullText> " +
-" <string>" + search_string + "</string> " +
-" </fullText> " +
-" </and> " +
-" </query> " +
-"</request> ";
+ string xml_string = String.Format(@"<?xml version=""1.0"" encoding=""UTF-8""?>
+<request xmlns=""http://freedesktop.org/standards/xesam/1.0/query"">
+ <query>
+ <and>
+ <inSet>
+ <field name=""mime""/>{0}
+ </inSet>
+ <fullText>
+ <string>{1}</string>
+ </fullText>
+ </and>
+ </query>
+</request>",
+Helpers.reduce_to_string(Helpers.map_strings(string_start(),
+supported_mimetypes, string_end())), search_string);
// System.Console.WriteLine(xml_string);
@@ -327,7 +331,7 @@
foreach (object[] r in result) {
filenames.Add((r[0] as string).Substring(7)); // cut file://
- System.Console.WriteLine((r[0] as string).Substring(7));
+ //System.Console.WriteLine((r[0] as string).Substring(7));
}
System.Console.WriteLine("search metadata store for {0} files", filenames.Count);
@@ -396,4 +400,4 @@
});
}
}
-}
\ No newline at end of file
+}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]