private void stringBenchMarkImpl()

in benchmark/string/host/src/main/java/org/apache/teaclave/javasdk/benchmark/string/host/StringBenchMark.java [72:106]


    private void stringBenchMarkImpl(EnclaveBenchmark enclave, String enclaveServiceInstance, String stringOpt) {
        StringOperationMetric service = null;
        switch (enclaveServiceInstance) {
            case "MOCK_IN_JVM":
                service = enclave.getMockJVMServiceInstance();
                break;
            case "MOCK_IN_SVM":
                service = enclave.getMockSVMServiceInstance();
                break;
            case "TEE_SDK":
                service = enclave.getTeeSDKServiceInstance();
                break;
        }

        int regexWeight = 5000;
        int concatWeight = 50_000;
        int splitWeight = 5000;
        String regexContext = "abcd_ed123.t12y@haha.com";
        String regexPattern = "^[\\w._]+@\\w+\\.[a-zA-Z]+$";
        String concatContext = "Hello World!";
        String concatPattern = "abc";
        String splitContext = "word1, word2 word3@word4?word5.word6";
        String splitPattern = "[, ?.@]+";
        switch (stringOpt) {
            case "regex":
                Objects.requireNonNull(service).stringRegex(regexContext, regexPattern, regexWeight);
                break;
            case "concat":
                Objects.requireNonNull(service).stringConcat(concatContext, concatPattern, concatWeight);
                break;
            case "split":
                Objects.requireNonNull(service).stringSplit(splitContext, splitPattern, splitWeight);
                break;
        }
    }