Skip to content

reactorlabs/vtrace-analysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vtrace-analysis

Work in progress.

A study of how vectors and data frames are used in R.

This repo contains the scripts for running the tracer and analyzing the output. The tracing is done by the vtrace package.

Getting Started

# Create parent directory
mkdir vtrace-dev && cd vtrace-dev

# Download and build dependencies
git clone --branch r-4.0.2 [email protected]:PRL-PRG/R-dyntrace.git && \
    cd R-dyntrace && ./build && cd ..
git clone [email protected]:PRL-PRG/injectr.git && \
    cd injectr && ../R-dyntrace/bin/R CMD INSTALL . && cd ..
git clone [email protected]:PRL-PRG/instrumentr.git && \
    cd instrumentr && ../R-dyntrace/bin/R CMD INSTALL . && cd ..
git clone [email protected]:reactorlabs/vtrace.git && \
    cd vtrace && ../R-dyntrace/bin/R CMD INSTALL . && cd ..

# Install R utility packages
R-dyntrace/bin/R -e 'install.packages(c("devtools","dplyr","lintr"), repos="https://cloud.r-project.org")'

# Clone this repo
git clone [email protected]:reactorlabs/vtrace-analysis.git

Dependencies

  • R-dyntrace (r-4.0.2 branch) - modified version of the R interpreter that exposes hooks for tracing
  • injectr - R package for injecting code into existing functions
  • instrumentr - R package for instrumenting R code; depends on R-dyntrace and injectr
  • vtrace - R package for tracing vector code; depends on R-dyntrace and instrumentr

Dependencies must be installed in the order listed.

Dependency management

Currently, dependency management is manual: cd into the appropriate directory, do a git pull, and rebuild. Dependencies are located in sibling directories, not child directories, of this repo.

The number of dependencies is small, pulls are expected to be infrequent, and pushes are expected to be very rare. Hopefully this manual approach will be easier than git submodules or git subtrees -- but this decision may be revisited.

About

A study of how vectors and data are used in R

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published