Skip to content

Commit

Permalink
Update README.md (#243)
Browse files Browse the repository at this point in the history
* Update README.md

Extensive development information. Benchmarking websites included!

* Remove GitHub section.

Also add DataFrame link to wiki.

* Small update to README.md

Readded, but rephrased the GitHub section.
Added the tip to compile proto files for testing.
  • Loading branch information
DivvyCr authored May 2, 2020
1 parent 454cfd6 commit 7f188c8
Showing 1 changed file with 33 additions and 3 deletions.
36 changes: 33 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@


# carball
Various tools for decompiling / analyzing Rocket League replays.
Carball is an open-source project that combines multiple tools for decompiling Rocket League replays and then analysing them.

## Requirements

- Python 3.6.7+ or 3.7+
- Python 3.6.7+ (3.7 and 3.8 included)
- Windows, Mac or Linux

## Install
Expand All @@ -38,6 +38,7 @@ python init.py
```

## Examples / Usage
One of the main data structures used in carball is the pandas.DataFrame, to learn more, see [its wiki page](https://github.com/SaltieRL/carball/wiki/data_frame).

Decompile and analyze a replay:
```Python
Expand Down Expand Up @@ -172,5 +173,34 @@ Fix:


## Developing
Everyone is welcome to join the carball (and calculated.gg) project! Even if you are a beginner, this can be used as an opportunity to learn more - you just need to be willing to learn and contribute.

For testing you must run pytest. For ides you can configure them to use the pytest runner.
### Usage of GitHub
All contributions end up on the carball repository. If you are new to the project you are required to use your own fork for first changes. If you do not have any previous git / github experience that is completely fine - we can help with it.
If we believe that you are comitted to working on the project and have experience in git we may give you write access so that you no longer have to use a fork. Nonetheless, please wait until your contrubtion is ready for a review to make the pull request because that will save resources for our tests and reduce spam.
For testing you should use your own fork, but take note that some carball tests may fail on a fork

### Learning about carball
Currently, there is active creation of the carball wiki on GitHub - it aims to provide all relevant information about carball and development, so if you are a beginner, definitely have a look there. If you can't find information that you were looking for, your next option is the calculated.gg Discord server, where you may send a message to the #help channel.

The carball code is also documented, although sparsely. However, you still may find information there, too.

### Testing
The main requirement is to run PyTest. If you are using an IDE that supports integrated testing (e.g. PyCharm), you should enable PyTest there. The secondary requirement (to compile the proto files) is to run the appropriate `setup` file (setup.bat for Windows, setup.sh for Linux/Mac).

If you've never tested your code before, it is a good idea to learn that skill with PyTest! Have a look at their official documentation, or any other tutorials.

### carball Performance
Carball powers calculated.gg, which analyses tens of thousands of replays per day. Therefore, performance is very important, and it is monitored and controlled using PyTest-Benchmarking, which is implemented via GitHub Actions. However, you may see your contribution's performance locally - look into PyTest-Benchmarking documentation. If your contribution is very inefficient - it will fail automatically.

If you wish to see the current carball analysis performance, it is split into 5 replay categories, and can be accessed below:
* [Short Sample](https://saltierl.github.io/carball/dev/bench/short_sample/)
* A very short soccar replay - for fast benchmarking.
* [Short Dropshot](https://saltierl.github.io/carball/dev/bench/short_dropshot/)
* A very short dropshot replay - to test dropshot performance.
* [Rumble](https://saltierl.github.io/carball/dev/bench/full_rumble/)
* A full game of rumble - to test rumble performance.
* [RLCS](https://saltierl.github.io/carball/dev/bench/oce_rlcs/)
* A full soccar RLCS game.
* [RLCS (Intensive)](https://saltierl.github.io/carball/dev/bench/oce_rlcs_intensive/)
* A full soccar RLCS game, but run with the intense analysis flag.

10 comments on commit 7f188c8

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Carball Benchmarks short_sample

Benchmark suite Current: 7f188c8 Previous: 454cfd6 Ratio
carball/tests/benchmarking/benchmarking.py::test_short_sample 0.7759400906513574 iter/sec (stddev: 0.028249703734371207) 0.8334493276479993 iter/sec (stddev: 0.018728356055060735) 1.07

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Carball Benchmarks intensive_oce_rlcs

Benchmark suite Current: 7f188c8 Previous: 454cfd6 Ratio
carball/tests/benchmarking/benchmarking.py::test_intensive_oce_rlcs 0.051085946394267966 iter/sec (stddev: 0.4690776329708066) 0.05268577788019987 iter/sec (stddev: 0.36586274061110863) 1.03

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Carball Benchmarks short_dropshot

Benchmark suite Current: 7f188c8 Previous: 454cfd6 Ratio
carball/tests/benchmarking/benchmarking.py::test_short_dropshot 0.5399770362669852 iter/sec (stddev: 0.014561683878670116) 0.5608396631341442 iter/sec (stddev: 0.012052625398053523) 1.04

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Carball Benchmarks oce_rlcs

Benchmark suite Current: 7f188c8 Previous: 454cfd6 Ratio
carball/tests/benchmarking/benchmarking.py::test_oce_rlcs 0.05892127755465848 iter/sec (stddev: 0.11262049323499078) 0.055540758648192336 iter/sec (stddev: 0.30932987465593165) 0.94

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Carball Benchmarks full_rumble

Benchmark suite Current: 7f188c8 Previous: 454cfd6 Ratio
carball/tests/benchmarking/benchmarking.py::test_full_rumble 0.05468149206275809 iter/sec (stddev: 0.10684982585346833) 0.05418737453762949 iter/sec (stddev: 0.13742479332585428) 0.99

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Carball Benchmarks short_dropshot

Benchmark suite Current: 7f188c8 Previous: 454cfd6 Ratio
carball/tests/benchmarking/benchmarking.py::test_short_dropshot 0.6589347419264752 iter/sec (stddev: 0.013890715145794128) 0.5608396631341442 iter/sec (stddev: 0.012052625398053523) 0.85

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Carball Benchmarks short_sample

Benchmark suite Current: 7f188c8 Previous: 454cfd6 Ratio
carball/tests/benchmarking/benchmarking.py::test_short_sample 0.745579981902551 iter/sec (stddev: 0.050723979162898114) 0.8334493276479993 iter/sec (stddev: 0.018728356055060735) 1.12

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Carball Benchmarks intensive_oce_rlcs

Benchmark suite Current: 7f188c8 Previous: 454cfd6 Ratio
carball/tests/benchmarking/benchmarking.py::test_intensive_oce_rlcs 0.04939777376858313 iter/sec (stddev: 0.2521049796934817) 0.05268577788019987 iter/sec (stddev: 0.36586274061110863) 1.07

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Carball Benchmarks full_rumble

Benchmark suite Current: 7f188c8 Previous: 454cfd6 Ratio
carball/tests/benchmarking/benchmarking.py::test_full_rumble 0.0559908660025343 iter/sec (stddev: 0.24654527029433324) 0.05418737453762949 iter/sec (stddev: 0.13742479332585428) 0.97

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Carball Benchmarks oce_rlcs

Benchmark suite Current: 7f188c8 Previous: 454cfd6 Ratio
carball/tests/benchmarking/benchmarking.py::test_oce_rlcs 0.05148631992982851 iter/sec (stddev: 0.1990863633313953) 0.055540758648192336 iter/sec (stddev: 0.30932987465593165) 1.08

This comment was automatically generated by workflow using github-action-benchmark.

Please sign in to comment.