{"size": 802, "ext": "scrbl", "max_stars_repo_path": "paper/conclusion.scrbl", "max_stars_repo_name": "bluephoenix47/pgmp", "max_stars_repo_stars_event_min_datetime": "2015-04-26T14:23:58.000Z", "max_stars_repo_stars_event_max_datetime": "2015-04-26T14:23:58.000Z", "max_issues_repo_path": "paper/conclusion.scrbl", "max_issues_repo_name": "bluephoenix47/pgmp", "max_issues_repo_issues_event_min_datetime": "2015-02-12T17:56:28.000Z", "max_issues_repo_issues_event_max_datetime": "2015-04-14T04:04:26.000Z", "max_forks_repo_path": "paper/conclusion.scrbl", "max_forks_repo_name": "bluephoenix47/pgmp", "max_forks_repo_forks_event_min_datetime": "2016-04-10T19:03:41.000Z", "max_forks_repo_forks_event_max_datetime": "2016-04-10T19:03:41.000Z"}
{"max_stars_count": 1, "max_issues_count": 8, "max_forks_count": 1, "avg_line_length": 42.2105263158, "max_line_length": 72, "alphanum_fraction": 0.8142144638}
#lang scribble/base
@(require "defs.rkt")
@(require "bib.rkt")
@(require scribble/manual)
@(require scriblib/footnote)
@(require scriblib/figure)
@title[#:tag "conclusion" "Conclusion"]
Meta-programming is used to implement high-level optimizations, generate
code from high-level specifications, and create domain-specific
languages.
Each of these can take advantage of PGO to optimize before information
is lost or constraints are imposed.
Until now, such optimizations have been implemented via tools designed
for a specific meta-program or a specific optimization.
We described how to build a general mechanism for implementing arbitrary
profile-guided meta-programs.
We also demonstrated the expressivity of this design by using it to
implement several representative profile-guided meta-programs.
