commit | bf4c99083b75fcbd33be54d7548da688726038e7 | [log] [tgz] |
---|---|---|
author | Dave Smith <davewsmith@gmail.com> | Thu Feb 18 14:30:55 2016 -0800 |
committer | Dave Smith <davewsmith@gmail.com> | Thu Feb 18 19:03:45 2016 -0800 |
tree | 006dc614a48b5e42ccf87a577945207ac753b7e8 | |
parent | da8263bb3610381f2c92f591c6b041ab5c141c0c [diff] |
Call ParseStruct() at most once per parsed line. ParseStruct() is a relatively expensive call, and only needs to be done once per log entry. Using one of the 2015 logs, with a 13 signal plot_actions file, this patch reduces the time for processing the log from ~6 seconds to ~1.3 seconds. Change-Id: I4831014de12b7ca60e51c71fb03f2ff38266cbfb
This is FRC Team 971's main code repository. There are README*
files throughout the source tree documenting specifics for their respective folders.
The main central location for our code is our Gerrit server at https://robotics.mvla.net/gerrit. To get a copy of the code on your computer to work with, follow these steps:
clone with commit-msg hook
command will save you trouble later.To learn more about git, see git(1) (man git
or git(1) (especially the NOTES section).
We want all code to at least have a second person look over it before it gets merged into the master
branch. Gerrit has extensive documentation on starting reviews. TL;DR: git push origin HEAD:refs/for/master
and then click on the link to add reviewers. If you just upload a change without adding any reviewers, it might sit around for a long time before anybody else notices it. git-review can make the upload process simpler.
The currently supported operating system for building the code is amd64 Debian Jessie. It is likely to work on any x86_64 GNU/Linux system, but that's not at all well-tested.
We use Bazel to build the code. Bazel has extensive docs and does a nice job with fast, correct increment rebuilds.
Steps to set up a computer to build the code: 0. Set up the required APT repositories: Download frc971.list and llvm.org.list and put them in /etc/apt/sources.list.d/
.
apt-get install python libpython-dev bazel ruby clang-format-3.5 clang-3.6 gfortran libblas-dev liblapack-dev python-scipy python-matplotlib
Some useful Bazel commands:
bazel test //... -- $(cat NO_BUILD_AMD64) bazel build --cpu=roborio //... -- $(cat NO_BUILD_ROBORIO)
The NO_BUILD_{AMD64,ROBORIO} files contain lists of the targets which are intentionally not built for the various CPUs.
bazel build --cpu=roborio --compilation_mode=opt //y2015/...
bazel run --cpu=roborio --compilation_mode=opt //y2015:download roboRIO-971.local