Skip to content

Experimental test of dart compiling different type of code bases.

Notifications You must be signed in to change notification settings

grantnelson-wf/dartCompTest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dart Compilation Experiment

Experimental test of dart compiling different type of code bases.

References

Setting up the Experiment

./setup.sh

Generating treatments

For some treatments the code has to be generated. They can be generated with something like:

go run ./generators/treegen/main.go -del -gen -pubget -out ./treatments/filedeps_gen -rate 2 -depth 10 -scalar 10 -group 15

go run ./generators/treegen/main.go -del -gen -pubget -out ./treatments/libdeps_gen -lib -rate 2 -depth 10 -scalar 10 -group 15

Based on what size and what you are testing will depend on how you want to configure that generation. To see possible configurations get help with go run ./generators/treegen/main.go -h.

Running Experiment

Configure the trial that should be run in ./experiment/main.go,

Then run

go run ./experiment/main.go

Running Analysis on Results

You may need to add some python packages, use pip as needed.

This assumes the results are in ./results.txt

(cd analysis && python3 anova.py)

Running Individual Treatments

Each one may have it's own unique method for running but in general it will look like.

cd treatments/filedeps

pub get

webdev serve --no-injected-client

On Treatment Timeout or Failure

If a treatment times out it is possible its because the dart compiler got stuck (it does that) use the following command to see if the dart compiler is still alive and needs to be killed.

lsof -P | grep localhost | grep dart

or

killall dart

Also, if you want to analysis the results, you may have to manually remove any incomplete replicas from the results file prior to analysis.

NOTICE

The code in the treatments was designed to be extra complicated to help better test the build process. Obviously the treatment code can be greatly simplified, improved, etc. The goal is to test the Dart build speeds, not write good Dart code.

About

Experimental test of dart compiling different type of code bases.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages