ICU-10291 Optimize IDNA toASCII loop
diff --git a/icu4c/source/common/uidna.cpp b/icu4c/source/common/uidna.cpp
index 7cc97a9..ac2f9c3 100644
--- a/icu4c/source/common/uidna.cpp
+++ b/icu4c/source/common/uidna.cpp
@@ -57,18 +57,16 @@
 
 inline static UBool 
 startsWithPrefix(const UChar* src , int32_t srcLength){
-    UBool startsWithPrefix = TRUE;
-
     if(srcLength < ACE_PREFIX_LENGTH){
         return FALSE;
     }
 
     for(int8_t i=0; i< ACE_PREFIX_LENGTH; i++){
         if(toASCIILower(src[i]) != ACE_PREFIX[i]){
-            startsWithPrefix = FALSE;
+            return FALSE;
         }
     }
-    return startsWithPrefix;
+    return TRUE;
 }
 
 
@@ -441,6 +439,7 @@
         for(int32_t j=0; j<srcLength; j++){
             if(src[j]> 0x7f){
                 srcIsASCII = FALSE;
+                break;
             }/*else if(isLDHChar(src[j])==FALSE){
                 // here we do not assemble surrogates
                 // since we know that LDH code points
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/impl/IDNA2003.java b/icu4j/main/classes/core/src/com/ibm/icu/impl/IDNA2003.java
index e3503b8..12ba5a9 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/impl/IDNA2003.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/impl/IDNA2003.java
@@ -35,17 +35,15 @@
     private static final StringPrep namePrep = StringPrep.getInstance(StringPrep.RFC3491_NAMEPREP);
     
     private static boolean startsWithPrefix(StringBuffer src){
-        boolean startsWithPrefix = true;
-
         if(src.length() < ACE_PREFIX.length){
             return false;
         }
         for(int i=0; i<ACE_PREFIX.length;i++){
             if(toASCIILower(src.charAt(i)) != ACE_PREFIX[i]){
-                startsWithPrefix = false;
+                return false;
             }
         }
-        return startsWithPrefix;
+        return true;
     }
 
     private static char toASCIILower(char ch){
@@ -168,6 +166,7 @@
         while((ch = src.next())!= UCharacterIterator.DONE){
             if(ch> 0x7f){
                 srcIsASCII = false;
+                break;
             }
         }
         int failPos = -1;