You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucenenet.apache.org by "George Aroush (JIRA)" <ji...@apache.org> on 2007/03/10 03:50:09 UTC

[jira] Assigned: (LUCENENET-33) Frequent exceptions at Single Parse(String s)

     [ https://issues.apache.org/jira/browse/LUCENENET-33?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

George Aroush reassigned LUCENENET-33:
--------------------------------------

    Assignee: George Aroush

> Frequent exceptions at Single Parse(String s)
> ---------------------------------------------
>
>                 Key: LUCENENET-33
>                 URL: https://issues.apache.org/jira/browse/LUCENENET-33
>             Project: Lucene.Net
>          Issue Type: Improvement
>            Reporter: Vitaly Buka
>         Assigned To: George Aroush
>            Priority: Minor
>
> When Lucene running under Visual Studio's debugger it logs every fired exception. This log slow down execution. "Single Parse(String s)" throw exceptions very frequent so my program run slower in THOUSANDS of times. It can be fixed with use of TryParse instead of Parse.
> patch to fix it:
> Index: Lucene.Net/Search/FieldCacheImpl.cs
> ===================================================================
> --- Lucene.Net/Search/FieldCacheImpl.cs	(revision 500266)
> +++ Lucene.Net/Search/FieldCacheImpl.cs	(working copy)
> @@ -264,14 +264,7 @@
>  						if (term == null || term.Field() != field)
>  							break;
>  						float termval;
> -                        try
> -                        {
> -                            termval = SupportClass.Single.Parse(term.Text());
> -                        }
> -                        catch (Exception e)
> -                        {
> -                            termval = 0;
> -                        }
> +                                                termval = SupportClass.Single.Parse(term.Text());
>  						termDocs.Seek(termEnum);
>  						while (termDocs.Next())
>  						{
> @@ -514,4 +507,4 @@
>  			FLOAT_PARSER = new AnonymousClassFloatParser();
>  		}
>  	}
> -}
> \ No newline at end of file
> +}
> Index: Lucene.Net/SupportClass.cs
> ===================================================================
> --- Lucene.Net/SupportClass.cs	(revision 500266)
> +++ Lucene.Net/SupportClass.cs	(working copy)
> @@ -589,17 +589,13 @@
>          /// <returns></returns>
>          public static System.Single Parse(System.String s)
>          {
> -            try
> -            {
> -                if (s.EndsWith("f") || s.EndsWith("F"))
> -                    return System.Single.Parse(s.Substring(0, s.Length - 1));
> -                else
> -                    return System.Single.Parse(s);
> -            }
> -            catch(System.FormatException fex)
> -            {
> -                throw fex;					
> -            }
> +            System.Single res;
> +            
> +            if (s.EndsWith("f") || s.EndsWith("F"))
> +                System.Single.TryParse(s.Substring(0, s.Length - 1), out res);
> +            else
> +                System.Single.TryParse(s, out res);
> +            return res;
>          }
>      }
>  
> @@ -719,4 +715,4 @@
>              }
>          }
>      }
> -}
> \ No newline at end of file
> +}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.