Comments (14)
what i want is something that stashes a patch relative to head (and enough
information for me to know what "head" was), so i can just be hacking away and
rerunning my benchmarks and then come back later and match performance changes
to
specific code changes. i'm sort of seeing running the benchmarks as something
i'd do
at least as frequently as running the unit tests. (and, when i'm doing
performance
work, that's already the case.)
i could also imagine having my continuous build using something similar, so i
can
look at the long-term graph of my performance and click to find out why
NumberFormat
suddenly started to suck or why Formatter suddenly got faster. (but maybe that
isn't
very similar at all, implementation-wise, just conceptually.)
Original comment by [email protected]
on 7 Jan 2010 at 11:32
from caliper.
but, yeah, even just a hash is something: "did the code change between these
runs, or
are they just 'duplicate' data points?" is still useful.
Original comment by [email protected]
on 7 Jan 2010 at 11:32
from caliper.
I planned to submit a different issue about allowing the user to specify a
-sourcePath
on the command line, and what extra cool stuff we can do if we are permitted to
make
use of that source code. I think it opens up lots of amazing possibilities and
also
many cans of worms.
Original comment by [email protected]
on 8 Jan 2010 at 12:38
from caliper.
Original comment by [email protected]
on 11 Jan 2010 at 10:15
- Added labels: Milestone-0.5
from caliper.
Original comment by [email protected]
on 7 Jun 2010 at 2:41
- Added labels: Milestone-1.0
- Removed labels: Milestone-0.5
from caliper.
Does this issue serve as a feature request for attaching source code to the web
UI runs?
Original comment by brianfromoregon
on 17 Aug 2010 at 6:18
from caliper.
Another thing we may want to hash is the benchmark itself. Two runs are not
really comparable if the benchmark has changed between when they were run, and
it would be nice to show that somehow.
Original comment by [email protected]
on 17 Aug 2010 at 6:41
from caliper.
I would say that this issue does not include anything related to uploading
actual source code. That should be filed separately if it isn't already. It
has security implications.
The idea is only to capture a hash code so that we can track when
implementation A becomes implementation B while still leaving it up to the user
to fill in a description if they want.
And this value should incorporate benchmark code AND tested code. One
possibility would be run md5 over every .class and .jar file in the user's
CLASSPATH. It might as well even include caliper classes in that. Another
possibility would be to only cover the classes that actually get loaded in the
course of benchmark execution. We could make a ChecksummingClassLoader. I
don't know how crazy these ideas are.
Original comment by [email protected]
on 17 Aug 2010 at 7:10
from caliper.
It's a little tricky to do this with the ClassLoader approach because of all
the subprocesses used, but probably possible.
Original comment by [email protected]
on 17 Aug 2010 at 8:47
from caliper.
Original comment by [email protected]
on 14 Jan 2011 at 11:09
- Added labels: Milestone-Post-1.0
from caliper.
Probably shouldn't use loaded classes because benchmarkA() and benchmarkB() may
cause different classes to be loaded.
Could just look at the benchmark class, every class referred to by it, and
maybe just one level deeper?
Checksumming the entire classpath might be too slow? But should be pretty
solid?
Or we could forget all this and just have the user enter an optional
description on the command line and leave it at that. (Actually even if we do
this, the description is probably a good idea anyway; it can appear in place of
the checksum bits in the web display..)
Original comment by [email protected]
on 15 Feb 2011 at 2:12
from caliper.
Original comment by [email protected]
on 19 Mar 2011 at 3:06
- Added labels: Type-Enhancement
from caliper.
Original comment by [email protected]
on 8 Feb 2012 at 9:49
- Added labels: Component-Runner
from caliper.
Original comment by [email protected]
on 1 Nov 2012 at 8:32
from caliper.
Related Issues (20)
- Build is falling : Dagger and dagger-compiler jar is not being downloaded HOT 3
- frequent releases to maven repo (at least snapshot) HOT 8
- failing tests (f8dcb9a794b0cee6f9408d1b692572dbcd03788c) HOT 3
- scripts/caliper broken
- StreamServiceTest is flaky
- A simple example of how to use HOT 2
- Caliper with HttpServletRequest
- Missing pom.xml from recent commit
- Results should not be uploaded to the web by default HOT 1
- @Benchmark annotation
- -XX:CICompilerCount=2 vmOption does not apply
- microbenchmarks link in the home page of caliper wiki is not right HOT 1
- Fix Caliper tests under Java 10+11 HOT 3
- Unreleased Resource: Streams HOT 1
- Check for problems with ByteBuffer covariant return types when building with JDK 9+ HOT 2
- Maven release very old (2015)
- There is a vulnerability in OkHttp 2.5.0,upgrade recommended
- There is a vulnerability in Guava: Google Core Libraries for Java 28.1-jre,upgrade recommended
- Say something about (a) JMH and (b) the Jetpack Benchmark library HOT 7
- [Docs] Possible outdated documentation
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from caliper.