harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mark Hindess (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-6635) FloatingPointParser uses toLowerCase unnecessarily
Date Tue, 21 Sep 2010 22:38:34 GMT

    [ https://issues.apache.org/jira/browse/HARMONY-6635?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12913293#action_12913293

Mark Hindess commented on HARMONY-6635:


I imagine if your benchmark used a more typical selection of random floats - i.e. very few
if any hex floats rather than only hex flows - then the times would be significantly better
for the charAt version.  Obviously with 0x floats both find the 0x quickly but in long floats
with no 0x the charAt should be a clear win since it only has to check the first 2-3 chars
not the whole string.

> FloatingPointParser uses toLowerCase unnecessarily
> --------------------------------------------------
>                 Key: HARMONY-6635
>                 URL: https://issues.apache.org/jira/browse/HARMONY-6635
>             Project: Harmony
>          Issue Type: Improvement
>         Environment: Android 2.2
>            Reporter: Gaz Davidson
>         Attachments: harmony-6635.patch
> A lot of time is being eaten inside FloatingPointParser.java calling String.toLowerCase
when testing for "hex float" types.
> > if (s.toLowerCase().indexOf("0x") != -1) 
> I imagine that such hex float numbers are very rare, so this is a huge waste of time
in the general case.
> I haven't tested this, but it looks to me like the string is already trimmed and so checking
at a specific location should speed this up considerably:
> > if (s.size() > 2 && s.charAt(0) =='0' && (s.charAt(1) == 'x'
|| s.charAt(1) == 'X')) 

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

View raw message