MCPcopy Index your code
hub / github.com/antlr/codebuff / main

Method main

src/org/antlr/codebuff/validation/TestK.java:39–98  ·  view source on GitHub ↗
(String[] args)

Source from the content-addressed store, hash-verified

37 }
38
39 public static void main(String[] args) throws Exception {
40 LangDescriptor[] languages = new LangDescriptor[] {
41 JAVA_DESCR,
42 JAVA8_DESCR,
43// JAVA_GUAVA_DESCR,
44// JAVA8_GUAVA_DESCR,
45 ANTLR4_DESCR,
46 SQLITE_CLEAN_DESCR,
47 TSQL_CLEAN_DESCR,
48 };
49
50 int MAX_K = 98; // should be odd
51 int OUTLIER_K = 99;
52 List<Integer> ks = new ArrayList<>();
53 for (int i = 1; i<=MAX_K; i+=2) {
54 ks.add(i);
55 }
56 ks.add(OUTLIER_K);
57 // track medians[language][k]
58 Float[][] medians = new Float[languages.length+1][];
59
60 int ncpu = Runtime.getRuntime().availableProcessors();
61 if ( FORCE_SINGLE_THREADED ) {
62 ncpu = 2;
63 }
64 ExecutorService pool = Executors.newFixedThreadPool(ncpu-1);
65 List<Callable<Void>> jobs = new ArrayList<>();
66
67 for (int i = 0; i<languages.length; i++) {
68 final LangDescriptor language = languages[i];
69 final int langIndex = i;
70 System.out.println(language.name);
71 for (int k : ks) {
72 medians[langIndex] = new Float[OUTLIER_K+1];
73 Callable<Void> job = () -> {
74 try {
75 TestK tester = new TestK(language.corpusDir, language, k);
76 List<Float> errorRates = tester.scoreDocuments();
77 Collections.sort(errorRates);
78 int n = errorRates.size();
79 float median = errorRates.get(n/2);
80// double var = BuffUtils.varianceFloats(errorRates);
81// String display = String.format("%5.4f, %5.4f, %5.4f, %5.4f, %5.4f", min, quart, median, quart3, max);
82 medians[langIndex][k] = median;
83 }
84 catch (Throwable t) {
85 t.printStackTrace(System.err);
86 }
87 return null;
88 };
89 jobs.add(job);
90 }
91 }
92
93 pool.invokeAll(jobs);
94 pool.shutdown();
95 boolean terminated = pool.awaitTermination(60, TimeUnit.MINUTES);
96

Callers

nothing calls this directly

Calls 9

scoreDocumentsMethod · 0.95
writePythonMethod · 0.95
sortMethod · 0.80
addMethod · 0.65
sizeMethod · 0.65
getMethod · 0.65
invokeAllMethod · 0.65
shutdownMethod · 0.45
awaitTerminationMethod · 0.45

Tested by

no test coverage detected