static MultiMap ai_indexWebs_parallel(Collection webs) ctex { print("Making index in parallel."); final MultiMap index = caseInsensitiveMultiMap(); int queueSize = numberOfCores(); NotifyingBlockingThreadPoolExecutor e = new(numberOfCores(), queueSize, 15, TimeUnit.SECONDS); try { for (final L l : chunksOf1000(webs)) { e.execute(r { pcall { for (Web web : l) ai_addWebToIndex(index, web); }}); } e.shutdown(); e.awaitTermination(1, TimeUnit.DAYS); } finally { e.shutdown(); } ret index; }