/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License.
*/ package org.apache.tomcat.util.buf;
/* * Checks the the optimized code is faster than the non-optimized code.
*/
@Test publicvoid testConversionPerformance() {
// ISO_8859_1 conversion appears to be optimised in Java 16 onwards
Assume.assumeFalse(JreCompat.isJre16Available());
long optimized = -1; long nonOptimized = -1;
/* * One loop is likely to be enough as the optimised code is * significantly (3x to 4x on markt's desktop) faster than the * non-optimised code. Loop three times allows once to warn up the JVM * once to run the test and once more in case of unexpected CI /GC * slowness. The test will exit early if possible. * * MessageBytes only optimises conversion for ISO_8859_1
*/ for (int i = 0; i < 3; i++) {
optimized = doTestOptimisedConversionPerformance();
nonOptimized = doTestConversionPerformance();
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.