{"id":{"repo_id":"rice","oai_identifier":"oai:repository.rice.edu:1911/17678"},"canonical_url":"https://search.dev.ndltd.org/etd/rice/oai:repository.rice.edu:1911/17678","repository":{"repo_id":"rice","name":"Rice University","base_url":"https://repository.rice.edu/server/oai/request"},"display":{"title":"RCC: A compiler for the R language for statistical computing","abstract":"R is a programming language for statistics that enables users to express computation at a high level of abstraction. Until now, its only implementation has been the R interpreter. Though interpretation is convenient for interactive use, it hampers the performance of computation-intensive programs. This thesis describes the design and implementation of RCC, a compiler that translates R into C to improve performance and enable future optimization. RCC uses runtime libraries of the open-source R interpreter, combining compiled and interpreted code to achieve a complete translation. Function definitions and control flow in R are translated directly into C, while operations such as dynamic function modification remain interpreted. RCC-generated code in the current version achieves over a threefold speedup compared to the R interpreter. Hand-coded experiments suggest that optimizing the generated code using knowledge about the runtime libraries could improve performance by a factor of 100.","abstract_html":"R is a programming language for statistics that enables users to express computation at a high level of abstraction. Until now, its only implementation has been the R interpreter. Though interpretation is convenient for interactive use, it hampers the performance of computation-intensive programs. This thesis describes the design and implementation of RCC, a compiler that translates R into C to improve performance and enable future optimization. RCC uses runtime libraries of the open-source R interpreter, combining compiled and interpreted code to achieve a complete translation. Function definitions and control flow in R are translated directly into C, while operations such as dynamic function modification remain interpreted. RCC-generated code in the current version achieves over a threefold speedup compared to the R interpreter. Hand-coded experiments suggest that optimizing the generated code using knowledge about the runtime libraries could improve performance by a factor of 100.","abstract_has_math":false,"creators":["Garvin, John"],"institution":"Rice University","degree_name":"Master of Science","degree_level":"Masters","degree_discipline":"Engineering","degree_department":null,"school":null,"contributors":[],"advisors":["Mellor-Crummey, John"],"committee_chairs":[],"committee_members":[],"year":2004,"date_issued":"2004","date_published":"2004","updated_at":"2026-07-24T04:10:22Z","subjects":["Computer science"],"languages":["eng"],"rights":["Copyright is held by the author, unless otherwise indicated. Permission to reuse, publish, or reproduce the work beyond the bounds of fair use or other exemptions to copyright law must be obtained from the copyright holder."],"rights_urls":[],"identifier_entries":[]},"links":{"outbound_url":"https://hdl.handle.net/1911/17678","outbound_label":"Handle","outbound_source":"dc:identifier.uri"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor.advisor","label":"Advisor","values":["Mellor-Crummey, John"]},{"key":"dc:creator","label":"Author","values":["Garvin, John"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date.accessioned","label":"Dc Date Accessioned","values":["2009-06-04T08:12:58Z"]},{"key":"dc:date.available","label":"Dc Date Available","values":["2009-06-04T08:12:58Z"]},{"key":"dc:date.issued","label":"Date","values":["2004"]},{"key":"dc:type","label":"Dc Type","values":["Thesis"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Engineering"]},{"key":"thesis:degree_level","label":"Degree Level","values":["Masters"]},{"key":"thesis:degree_name","label":"Degree Name","values":["Master of Science"]},{"key":"thesis:institution_name","label":"Thesis Institution Name","values":["Rice University"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["Computer science"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language.iso","label":"Language (ISO)","values":["eng"]},{"key":"dc:rights","label":"Dc Rights","values":["Copyright is held by the author, unless otherwise indicated. Permission to reuse, publish, or reproduce the work beyond the bounds of fair use or other exemptions to copyright law must be obtained from the copyright holder."]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier.uri","label":"Identifier URI","values":["https://hdl.handle.net/1911/17678"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description.abstract","label":"Abstract","values":["R is a programming language for statistics that enables users to express computation at a high level of abstraction. Until now, its only implementation has been the R interpreter. Though interpretation is convenient for interactive use, it hampers the performance of computation-intensive programs. This thesis describes the design and implementation of RCC, a compiler that translates R into C to improve performance and enable future optimization. RCC uses runtime libraries of the open-source R interpreter, combining compiled and interpreted code to achieve a complete translation. Function definitions and control flow in R are translated directly into C, while operations such as dynamic function modification remain interpreted. RCC-generated code in the current version achieves over a threefold speedup compared to the R interpreter. Hand-coded experiments suggest that optimizing the generated code using knowledge about the runtime libraries could improve performance by a factor of 100."]},{"key":"dc:format.mimetype","label":"Dc Format Mimetype","values":["application/pdf"]},{"key":"dc:title","label":"Title","values":["RCC: A compiler for the R language for statistical computing"]}]}],"canonical_facts":{"dc:contributor.advisor":["Mellor-Crummey, John"],"dc:creator":["Garvin, John"],"dc:date.accessioned":["2009-06-04T08:12:58Z"],"dc:date.available":["2009-06-04T08:12:58Z"],"dc:date.issued":["2004"],"dc:description.abstract":["R is a programming language for statistics that enables users to express computation at a high level of abstraction. Until now, its only implementation has been the R interpreter. Though interpretation is convenient for interactive use, it hampers the performance of computation-intensive programs. This thesis describes the design and implementation of RCC, a compiler that translates R into C to improve performance and enable future optimization. RCC uses runtime libraries of the open-source R interpreter, combining compiled and interpreted code to achieve a complete translation. Function definitions and control flow in R are translated directly into C, while operations such as dynamic function modification remain interpreted. RCC-generated code in the current version achieves over a threefold speedup compared to the R interpreter. Hand-coded experiments suggest that optimizing the generated code using knowledge about the runtime libraries could improve performance by a factor of 100."],"dc:format.mimetype":["application/pdf"],"dc:identifier.uri":["https://hdl.handle.net/1911/17678"],"dc:language.iso":["eng"],"dc:rights":["Copyright is held by the author, unless otherwise indicated. Permission to reuse, publish, or reproduce the work beyond the bounds of fair use or other exemptions to copyright law must be obtained from the copyright holder."],"dc:subject":["Computer science"],"dc:title":["RCC: A compiler for the R language for statistical computing"],"dc:type":["Thesis"],"thesis:degree_discipline":["Engineering"],"thesis:degree_level":["Masters"],"thesis:degree_name":["Master of Science"],"thesis:institution_name":["Rice University"]},"updated_at":"2026-07-24T04:10:22Z"}