-
Notifications
You must be signed in to change notification settings - Fork 712
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use ps.Map for Counters and Sets, remove Metadata in favour of Latest. #838
Conversation
d434454
to
3a58b74
Compare
This only shows a small improvement vs master. This change:
master:
|
rebased on master after #752 merge |
3a58b74
to
e8a6fa4
Compare
After rebasing, with a slow report, it looks to give a ~20% decrease in render times against master |
Sweet! I think next steps are doing this for metadata (or moving all the uses of I also want to figure out a way of measuring the cpu cost on a per path On Wednesday, 20 January 2016, Paul Bellamy [email protected]
|
822501a
to
c05659b
Compare
After rebase:
|
b7c2855
to
5bc7c31
Compare
Removing Metadata seems to have made a bit of a difference:
In particular, HostRender (our most expensive) has gone form 776683 -> 698756, a 10% win. |
On master HostRendered is about 884358, so this is about 20% performance improvement - ie not enough. |
Also - Add more complicated report.json for benchmark - Break up report/topology.go - Implement our own DeepEqual for ps.Map
72d812a
to
6b56475
Compare
Another improvement (about 30% now)
|
537e318
to
f2df789
Compare
This panics running the benchmarks against report.json, due to a |
Because they are commutative and immutable, we can do this!
Basically just some more comments on tests, then LGTM. Added a minor optimisation that gains another ~10%. |
if !reflect.DeepEqual(want, have) { | ||
t.Errorf(test.Diff(want, have)) | ||
} | ||
} |
This comment was marked as abuse.
This comment was marked as abuse.
Sorry, something went wrong.
This comment was marked as abuse.
This comment was marked as abuse.
Sorry, something went wrong.
Use ps.Map for Counters and Sets, remove Metadata in favour of Latest.
It is unused and none of the adjacency mapping code in the renderer takes any notice of it. Removing this shrinks the report size. Edges were introduced in #838. At the time we had an experimental packet sniffer under experimental/sniff/sniffer.go. That got removed in #1646. We can resurrect this if we ever decide to add meta data to edges.
Part of #502, helps towards #812 & #854.