# HG changeset patch
# User paulson
# Date 1530021092 -3600
# Node ID e3e742b9eed458c56a98d4e8f9edd6e2202ce0d4
# Parent 6855ebc61b4f38e2baf3b22fa731406e70dc0f53# Parent d4312962161ab8862595ab6e5f0e7508fbef8b9e
merged
diff -r d4312962161a -r e3e742b9eed4 Admin/jenkins/build/ci_build_stats.scala
--- a/Admin/jenkins/build/ci_build_stats.scala Tue Jun 26 14:51:18 2018 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-// FIXME obsolete
-
-object stats extends isabelle.Isabelle_Tool.Body {
-
- import isabelle._
- import java.time._
- import java.time.format.DateTimeFormatter
-
-
- val start_time = Instant.now().atZone(ZoneId.systemDefault).format(DateTimeFormatter.RFC_1123_DATE_TIME)
-
- val target_dir = Path.explode("stats")
- val jobs = List("isabelle-nightly-benchmark", "isabelle-nightly-slow")
-
- val html_header = s"""
-
-
Performance statistics from session build output
-
- Generated at $start_time
-"""
-
- val html_footer = """
-
-
-"""
-
- def generate(job: String): Unit = {
- println(s"=== $job ===")
-
- val dir = target_dir + Path.basic(job)
- val sessions: List[String] = Nil
-
- val sections =
- cat_lines(
- sessions.map(session =>
- "" +
- "
" + HTML.output(session) + "
" +
- "
\n"))
-
- val toc =
- cat_lines(
- sessions.map(session =>
- "" +
- HTML.output(session) + "\n"))
-
- val html =
- html_header + "\n" + HTML.output(job) + "
\n" + "\n" +
- sections + html_footer
-
- File.write(dir + Path.basic("index.html"), html)
- }
-
- override final def apply(args: List[String]): Unit = {
- jobs.foreach(generate)
-
- File.write(target_dir + Path.basic("index.html"),
- html_header + "\n\n" + html_footer)
- }
-
-}
diff -r d4312962161a -r e3e742b9eed4 src/Pure/Admin/ci_profile.scala
--- a/src/Pure/Admin/ci_profile.scala Tue Jun 26 14:51:18 2018 +0100
+++ b/src/Pure/Admin/ci_profile.scala Tue Jun 26 14:51:32 2018 +0100
@@ -24,6 +24,7 @@
progress = progress,
clean_build = clean,
verbose = true,
+ numa_shuffling = numa,
max_jobs = jobs,
dirs = include,
select_dirs = select,
@@ -137,6 +138,7 @@
def documents: Boolean = true
def clean: Boolean = true
+ def numa: Boolean = false
def threads: Int
def jobs: Int
diff -r d4312962161a -r e3e742b9eed4 src/Pure/General/graph.scala
--- a/src/Pure/General/graph.scala Tue Jun 26 14:51:18 2018 +0100
+++ b/src/Pure/General/graph.scala Tue Jun 26 14:51:32 2018 +0100
@@ -68,6 +68,7 @@
def defined(x: Key): Boolean = rep.isDefinedAt(x)
def domain: Set[Key] = rep.keySet
+ def size: Int = rep.size
def iterator: Iterator[(Key, Entry)] = rep.iterator
def keys_iterator: Iterator[Key] = iterator.map(_._1)
diff -r d4312962161a -r e3e742b9eed4 src/Pure/PIDE/document.scala
--- a/src/Pure/PIDE/document.scala Tue Jun 26 14:51:18 2018 +0100
+++ b/src/Pure/PIDE/document.scala Tue Jun 26 14:51:32 2018 +0100
@@ -669,6 +669,16 @@
/*intermediate state between remove_versions/removed_versions*/
removing_versions: Boolean = false)
{
+ override def toString: String =
+ "State(versions = " + versions.size +
+ ", blobs = " + blobs.size +
+ ", commands = " + commands.size +
+ ", execs = " + execs.size +
+ ", assignments = " + assignments.size +
+ ", commands_redirection = " + commands_redirection.size +
+ ", history = " + history.undo_list.size +
+ ", removing_versions = " + removing_versions + ")"
+
private def fail[A]: A = throw new State.Fail(this)
def define_version(version: Version, assignment: State.Assignment): State =