Package org.openjdk.jmh.util
Class Utils
- java.lang.Object
-
- org.openjdk.jmh.util.Utils
-
public class Utils extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classUtils.BurningTask
-
Field Summary
Fields Modifier and Type Field Description private static sun.misc.UnsafeU
-
Constructor Summary
Constructors Modifier Constructor Description privateUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <T> java.lang.Iterable<T>adaptForLoop(java.util.Iterator<T> it)Adapts Iterator for Iterable.static voidcheck(java.lang.Class<?> klass, java.lang.String fieldName)static voidcheck(java.lang.Class<?> klass, java.lang.String... fieldNames)static java.lang.String[]concat(java.lang.String[] t1, java.lang.String[] t2)static intfigureOutHotCPUs()Warm up the CPU schedulers, bring all the CPUs online to get the reasonable estimate of the system capacity.static java.lang.StringgetCurrentJvm()static java.lang.StringgetCurrentJvmVersion()static java.lang.StringgetCurrentOSVersion()static longgetOffset(java.lang.Class<?> klass, java.lang.String fieldName)static longgetPid()Gets PID of the current JVM.static longgetPid(java.lang.Process process)Gets the PID of the target process.static java.util.PropertiesgetRecordedSystemProperties()We don't access the complete system properties viaSystem.getProperties()because this would require read/write permissions to the properties.static java.nio.charset.CharsetguessConsoleEncoding()private static voidindent(java.io.PrintWriter pw, int indent)static booleanisWindows()static java.lang.Stringjoin(java.lang.String[] src, java.lang.String delim)static java.lang.Stringjoin(java.util.Collection<java.lang.String> src, java.lang.String delim)static java.lang.StringmarshalIntArray(int[] arr)static <T extends java.lang.Comparable<T>>
Tmax(java.util.Collection<T> ts)static <T extends java.lang.Comparable<T>>
Tmin(java.util.Collection<T> ts)static java.util.PropertiesreadPropertiesFromCommand(java.util.List<java.lang.String> cmd)static voidreflow(java.io.PrintWriter pw, java.lang.String src, int width, int indent)static java.util.Collection<java.lang.String>rewrap(java.lang.String lines)static introundUp(int v, int quant)static java.lang.ProcessrunAsync(java.lang.String... cmd)static java.util.Collection<java.lang.String>runWith(java.util.List<java.lang.String> cmd)private static voidsetAccessible(java.lang.Object holder, java.lang.reflect.AccessibleObject o)static java.util.Collection<java.lang.String>splitQuotedEscape(java.lang.String src)static intsum(int[] arr)static java.lang.StringthrowableToString(java.lang.Throwable t)static java.util.Collection<java.lang.String>tryWith(java.lang.String... cmd)static int[]unmarshalIntArray(java.lang.String src)
-
-
-
Method Detail
-
min
public static <T extends java.lang.Comparable<T>> T min(java.util.Collection<T> ts)
-
max
public static <T extends java.lang.Comparable<T>> T max(java.util.Collection<T> ts)
-
concat
public static java.lang.String[] concat(java.lang.String[] t1, java.lang.String[] t2)
-
join
public static java.lang.String join(java.util.Collection<java.lang.String> src, java.lang.String delim)
-
join
public static java.lang.String join(java.lang.String[] src, java.lang.String delim)
-
splitQuotedEscape
public static java.util.Collection<java.lang.String> splitQuotedEscape(java.lang.String src)
-
sum
public static int sum(int[] arr)
-
roundUp
public static int roundUp(int v, int quant)
-
throwableToString
public static java.lang.String throwableToString(java.lang.Throwable t)
-
unmarshalIntArray
public static int[] unmarshalIntArray(java.lang.String src)
-
marshalIntArray
public static java.lang.String marshalIntArray(int[] arr)
-
figureOutHotCPUs
public static int figureOutHotCPUs()
Warm up the CPU schedulers, bring all the CPUs online to get the reasonable estimate of the system capacity. Some systems, notably embedded Linuxes, power down the idle CPUs and so availableProcessors() may report lower CPU count than would be present after the load-up.- Returns:
- max CPU count
-
setAccessible
private static void setAccessible(java.lang.Object holder, java.lang.reflect.AccessibleObject o) throws java.lang.IllegalAccessException- Throws:
java.lang.IllegalAccessException
-
guessConsoleEncoding
public static java.nio.charset.Charset guessConsoleEncoding()
-
reflow
public static void reflow(java.io.PrintWriter pw, java.lang.String src, int width, int indent)
-
indent
private static void indent(java.io.PrintWriter pw, int indent)
-
rewrap
public static java.util.Collection<java.lang.String> rewrap(java.lang.String lines)
-
check
public static void check(java.lang.Class<?> klass, java.lang.String... fieldNames)
-
check
public static void check(java.lang.Class<?> klass, java.lang.String fieldName)
-
getOffset
public static long getOffset(java.lang.Class<?> klass, java.lang.String fieldName)
-
isWindows
public static boolean isWindows()
-
getCurrentJvm
public static java.lang.String getCurrentJvm()
-
getCurrentJvmVersion
public static java.lang.String getCurrentJvmVersion()
-
getCurrentOSVersion
public static java.lang.String getCurrentOSVersion()
-
getPid
public static long getPid()
Gets PID of the current JVM.- Returns:
- PID.
-
getPid
public static long getPid(java.lang.Process process)
Gets the PID of the target process.- Parameters:
process- to poll- Returns:
- PID, or zero if no PID is found
-
tryWith
public static java.util.Collection<java.lang.String> tryWith(java.lang.String... cmd)
-
runAsync
public static java.lang.Process runAsync(java.lang.String... cmd)
-
runWith
public static java.util.Collection<java.lang.String> runWith(java.util.List<java.lang.String> cmd)
-
getRecordedSystemProperties
public static java.util.Properties getRecordedSystemProperties()
We don't access the complete system properties viaSystem.getProperties()because this would require read/write permissions to the properties. Just copy the properties we want to record in the result.- Returns:
- Copy of system properties we want to record in the results.
-
readPropertiesFromCommand
public static java.util.Properties readPropertiesFromCommand(java.util.List<java.lang.String> cmd)
-
adaptForLoop
public static <T> java.lang.Iterable<T> adaptForLoop(java.util.Iterator<T> it)
Adapts Iterator for Iterable. Can be iterated only once!- Type Parameters:
T- element type- Parameters:
it- iterator- Returns:
- iterable for given iterator
-
-