481 """ using 1:5 smooth sbezier title "ML cpu time (smooth)" """, |
481 """ using 1:5 smooth sbezier title "ML cpu time (smooth)" """, |
482 """ using 1:5 smooth csplines title "ML cpu time" """) |
482 """ using 1:5 smooth csplines title "ML cpu time" """) |
483 |
483 |
484 val heap_plots = |
484 val heap_plots = |
485 List( |
485 List( |
486 """ using 1:6 smooth sbezier title "maximum heap (smooth)" """, |
486 """ using 1:6 smooth sbezier title "heap maximum (smooth)" """, |
487 """ using 1:6 smooth csplines title "maximum heap" """, |
487 """ using 1:6 smooth csplines title "heap maximum" """, |
488 """ using 1:7 smooth sbezier title "average heap (smooth)" """, |
488 """ using 1:7 smooth sbezier title "heap average (smooth)" """, |
489 """ using 1:7 smooth csplines title "average heap" """, |
489 """ using 1:7 smooth csplines title "heap average" """, |
490 """ using 1:8 smooth sbezier title "stored heap (smooth)" """, |
490 """ using 1:8 smooth sbezier title "heap stored (smooth)" """, |
491 """ using 1:8 smooth csplines title "stored heap" """) |
491 """ using 1:8 smooth csplines title "heap stored" """) |
492 |
492 |
493 def jfreechart(plot_name: String, fields: ML_Statistics.Fields): Image = |
493 def jfreechart(plot_name: String, fields: ML_Statistics.Fields): Image = |
494 { |
494 { |
495 val image = Image(plot_name, image_width, image_height) |
495 val image = Image(plot_name, image_width, image_height) |
496 val chart = |
496 val chart = |
546 HTML.text("data:") -> |
546 HTML.text("data:") -> |
547 List(HTML.link(data_files(session.name).file_name, HTML.text("CSV"))), |
547 List(HTML.link(data_files(session.name).file_name, HTML.text("CSV"))), |
548 HTML.text("timing:") -> HTML.text(session.head.timing.message_resources), |
548 HTML.text("timing:") -> HTML.text(session.head.timing.message_resources), |
549 HTML.text("ML timing:") -> HTML.text(session.head.ml_timing.message_resources)) ::: |
549 HTML.text("ML timing:") -> HTML.text(session.head.ml_timing.message_resources)) ::: |
550 ML_Statistics.mem_print(session.head.maximum_code).map(s => |
550 ML_Statistics.mem_print(session.head.maximum_code).map(s => |
551 HTML.text("maximum code:") -> HTML.text(s)).toList ::: |
551 HTML.text("code maximum:") -> HTML.text(s)).toList ::: |
552 ML_Statistics.mem_print(session.head.average_code).map(s => |
552 ML_Statistics.mem_print(session.head.average_code).map(s => |
553 HTML.text("average code:") -> HTML.text(s)).toList ::: |
553 HTML.text("code average:") -> HTML.text(s)).toList ::: |
554 ML_Statistics.mem_print(session.head.maximum_stack).map(s => |
554 ML_Statistics.mem_print(session.head.maximum_stack).map(s => |
555 HTML.text("maximum stack:") -> HTML.text(s)).toList ::: |
555 HTML.text("stack maximum:") -> HTML.text(s)).toList ::: |
556 ML_Statistics.mem_print(session.head.average_stack).map(s => |
556 ML_Statistics.mem_print(session.head.average_stack).map(s => |
557 HTML.text("average stack:") -> HTML.text(s)).toList ::: |
557 HTML.text("stack average:") -> HTML.text(s)).toList ::: |
558 ML_Statistics.mem_print(session.head.maximum_heap).map(s => |
558 ML_Statistics.mem_print(session.head.maximum_heap).map(s => |
559 HTML.text("maximum heap:") -> HTML.text(s)).toList ::: |
559 HTML.text("heap maximum:") -> HTML.text(s)).toList ::: |
560 ML_Statistics.mem_print(session.head.average_heap).map(s => |
560 ML_Statistics.mem_print(session.head.average_heap).map(s => |
561 HTML.text("average heap:") -> HTML.text(s)).toList ::: |
561 HTML.text("heap average:") -> HTML.text(s)).toList ::: |
562 ML_Statistics.mem_print(session.head.stored_heap).map(s => |
562 ML_Statistics.mem_print(session.head.stored_heap).map(s => |
563 HTML.text("stored heap:") -> HTML.text(s)).toList ::: |
563 HTML.text("heap stored:") -> HTML.text(s)).toList ::: |
564 proper_string(session.head.isabelle_version).map(s => |
564 proper_string(session.head.isabelle_version).map(s => |
565 HTML.text("Isabelle version:") -> HTML.text(s)).toList ::: |
565 HTML.text("Isabelle version:") -> HTML.text(s)).toList ::: |
566 proper_string(session.head.afp_version).map(s => |
566 proper_string(session.head.afp_version).map(s => |
567 HTML.text("AFP version:") -> HTML.text(s)).toList) :: |
567 HTML.text("AFP version:") -> HTML.text(s)).toList) :: |
568 session_plots.getOrElse(session.name, Nil).map(image => |
568 session_plots.getOrElse(session.name, Nil).map(image => |