## Files to remove for 'make clean'
CLEANFILES = *~
-SUBDIRS = collationperf collperf collperf2 charperf dicttrieperf localecanperf normperf ubrkperf unisetperf usetperf ustrperf utfperf utrie2perf DateFmtPerf howExpensiveIs
+SUBDIRS = collationperf collperf collperf2 charperf dicttrieperf localecanperf normperf strsrchperf ubrkperf unisetperf usetperf ustrperf utfperf utrie2perf DateFmtPerf howExpensiveIs
# Subdirs that support 'xperf'
XSUBDIRS = DateFmtPerf
## List of standard targets
everything: all-recursive all-local
-all:
-ifneq ($(RECURSIVE),YES)
- @echo simply use \`make\' \(or \`make everything\'\) to do all
-endif
+all: everything
install: install-recursive install-local
clean: clean-recursive clean-local
loops = failsafe;
failsafe *= 10;
} else {
- //System.out.println("# " + meth.getName() + " x " + loops + " = " + t);
+ //System.out.println("# " + meth.getName() + " x " + loops + " = " + t);
loops = (int)((double)n / t * loops + 0.5);
if (loops == 0) {
fprintf(stderr,"Unable to converge on desired duration");
long events = -1;
for(int32_t ps =0; ps < passes; ps++){
- fprintf(stdout,"= %s begin " ,name);
if(verbose==TRUE){
+ fprintf(stdout,"= %s begin " ,name);
if(iterations > 0) {
fprintf(stdout, "%i\n", (int)loops);
} else {
fprintf(stdout, "%i\n", (int)n);
}
- } else {
- fprintf(stdout, "\n");
}
t = testFunction->time(loops, &status);
if(U_FAILURE(status)){
}else{
fprintf(stdout, "= %s end: %f loops: %i operations: %li events: %li\n", name, t, (int)loops, ops, events);
}
- }else{
- if(events == -1){
- fprintf(stdout,"= %s end %f %i %li\n", name, t, (int)loops, ops);
- }else{
- fprintf(stdout,"= %s end %f %i %li %li\n", name, t, (int)loops, ops, events);
- }
}
}
if(verbose && U_SUCCESS(status)) {
name, min_t, (int)loops, (min_t*1E9)/(loops*ops), (min_t*1E9)/(loops*events));
}
}
+ else if(U_SUCCESS(status)) {
+ // Print results in ndjson format for GHA Benchmark to process.
+ fprintf(stdout,
+ "{\"biggerIsBetter\":false,\"name\":\"%s\",\"unit\":\"ns/iter\",\"value\":%.4f}\n",
+ name, (min_t*1E9)/(loops*ops));
+ }
delete testFunction;
}
index++;