amarkevich opened a new pull request #483: HttpHeaderHelper: String.replace instead of Pattern.matcher().replaceAll URL: https://github.com/apache/cxf/pull/483 benchmark [1] results: - old: 40 MB 47 ms - new: 9 MB 0 ms 1. ``` public class HttpHeaderHelperMapCharsetTest { private static final int CNT = 131072; static final String charset = java.nio.charset.StandardCharsets.UTF_8.name(); private static final String[] STR = new String[CNT]; static { for (int i = 0; i < CNT; ++i) { if (i % 3 == 0) { STR[i] = "\"" + charset + "\""; } else if (i % 3 == 1) { STR[i] = "'" + charset + "'"; } else { STR[i] = charset; } } } @org.junit.Test public void mapCharset() { metrics("HttpHeaderHelper::mapCharset", HttpHeaderHelper::mapCharset); } @org.junit.Test public void mapCharset2() { metrics("HttpHeaderHelper::mapCharset2", HttpHeaderHelper::mapCharset2); } private static void metrics(String label, java.util.function.Function<String, String> f) { Runtime.getRuntime().gc(); long m = Runtime.getRuntime().freeMemory(); long t = System.currentTimeMillis(); for (int i = 0; i < CNT; ++i) { org.junit.Assert.assertEquals(charset, f.apply(STR[i])); } System.out.println(label + ": " + ((m - Runtime.getRuntime().freeMemory()) / (1024 * 1024)) + " MB " + (System.currentTimeMillis() - t) + " ms"); } public static void main(String[] args) { final HttpHeaderHelperMapCharsetTest splitTest = new HttpHeaderHelperMapCharsetTest(); for (int i = 0; i < 10; ++i) { System.out.println("Round #" + i); splitTest.mapCharset(); splitTest.mapCharset2(); } } } ```
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services