Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.
Sign upAdded missing tests, new configuration with HikariCP and bumped Play version #1149
Conversation
added a commit
that referenced
this pull request
Oct 29, 2014
msmith-techempower
merged commit 57de4cb
into
TechEmpower:master
Oct 29, 2014
1 check passed
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
richdougherty
Oct 30, 2014
Contributor
|
|
richdougherty
reviewed
Oct 30, 2014
| ('Scala', 'Slick', ['Linux'], ['db', 'query', 'fortune', 'update']), | ||
| ('Java', None, ['Linux'], ['json']), | ||
| ('Java', 'Ebean', ['Linux'], ['db', 'query']), | ||
| ('Java', 'JPA', ['Linux'], ['db', 'query', 'fortune', 'update', 'plaintext']), |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
richdougherty
Oct 30, 2014
Contributor
I suggest renaming "JPA" to "JPA BoneCP" here so that the difference between the two frameworks is really clear. I understand that BoneCP is the default but I don't think it will hurt to spell out the difference to anyone who is reading the results!
richdougherty
Oct 30, 2014
Contributor
I suggest renaming "JPA" to "JPA BoneCP" here so that the difference between the two frameworks is really clear. I understand that BoneCP is the default but I don't think it will hurt to spell out the difference to anyone who is reading the results!
richdougherty
reviewed
Oct 30, 2014
| ('Java', None, ['Linux'], ['json']), | ||
| ('Java', 'Ebean', ['Linux'], ['db', 'query']), | ||
| ('Java', 'JPA', ['Linux'], ['db', 'query', 'fortune', 'update', 'plaintext']), | ||
| ('Java', 'JPA HikariCP', ['Linux'], ['db', 'query', 'fortune', 'update', 'plaintext']), |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
richdougherty
Oct 30, 2014
Contributor
Thanks for implementing the plaintext test. Since the test doesn't hit the database, I'd suggest moving the implementation out of the two JPA tests and into the no-DB Java test. How does that sound?
richdougherty
Oct 30, 2014
Contributor
Thanks for implementing the plaintext test. Since the test doesn't hit the database, I'd suggest moving the implementation out of the two JPA tests and into the no-DB Java test. How does that sound?
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
msmith-techempower
Oct 30, 2014
Member
I would recommend not moving the plaintext tests out of this - this is cleanly organized as-is.
msmith-techempower
Oct 30, 2014
Member
I would recommend not moving the plaintext tests out of this - this is cleanly organized as-is.
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
richdougherty
Oct 30, 2014
Contributor
I'm suggesting moving the plaintext test out of the play2-java-jpa and play2-java-jpa-hikaridb tests and into play2-java. I think this is nice and clean, but maybe I'm wrong about that?
In general, with the way I've structured the Play 2 tests (and feel free to disagree) is into database tests (play2-java-jpa, play2-java-ebean, play2-scala-anorm, play2-scala-slick) and non-database tests (play2-java, play2-scala).
Each database test uses a different persistence approach, so they are useful for comparing different persistence frameworks. That's why I recommend the database tests only include tests that use the database: db, query, fortune, update.
The non-database tests don't use a persistence framework so I recommend that they are used to test the common part of Play that doesn't rely on a persistence framework. These tests are: json and plaintext.
If we included json and plaintext in each database test then we'd have lots of duplicated tests that are testing the same thing. When people look at the results for json or plaintext they should only see play2-java and play2-scala in the results. It's not helpful in these tests to see comparisons between persistence frameworks.
Here's the test configuration at the moment:
configurations = [
# Java test for common
('Java', None, ['Linux'], ['json']),
('Java', 'Ebean', ['Linux'], ['db', 'query']),
('Java', 'JPA', ['Linux'], ['db', 'query', 'fortune', 'update', 'plaintext']),
('Java', 'JPA HikariCP', ['Linux'], ['db', 'query', 'fortune', 'update', 'plaintext']),
('Scala', None, ['Linux'], ['json']),
('Scala', 'Anorm', ['Linux', 'Windows'], ['db', 'query', 'fortune', 'update']),
('Scala', 'Slick', ['Linux'], ['db', 'query', 'fortune', 'update']),
]I'm suggesting that ultimately we get it looking like:
configurations = [
# Java test for common
('Java', None, ['Linux'], ['json', 'plaintext']),
('Java', 'Ebean', ['Linux'], ['db', 'query', 'fortune', 'update']),
('Java', 'JPA', ['Linux'], ['db', 'query', 'fortune', 'update']),
('Java', 'JPA HikariCP', ['Linux'], ['db', 'query', 'fortune', 'update']),
('Scala', None, ['Linux'], ['json', 'plaintext']),
('Scala', 'Anorm', ['Linux', 'Windows'], ['db', 'query', 'fortune', 'update']),
('Scala', 'Slick', ['Linux'], ['db', 'query', 'fortune', 'update']),
]Does that sound OK?
richdougherty
Oct 30, 2014
Contributor
I'm suggesting moving the plaintext test out of the play2-java-jpa and play2-java-jpa-hikaridb tests and into play2-java. I think this is nice and clean, but maybe I'm wrong about that?
In general, with the way I've structured the Play 2 tests (and feel free to disagree) is into database tests (play2-java-jpa, play2-java-ebean, play2-scala-anorm, play2-scala-slick) and non-database tests (play2-java, play2-scala).
Each database test uses a different persistence approach, so they are useful for comparing different persistence frameworks. That's why I recommend the database tests only include tests that use the database: db, query, fortune, update.
The non-database tests don't use a persistence framework so I recommend that they are used to test the common part of Play that doesn't rely on a persistence framework. These tests are: json and plaintext.
If we included json and plaintext in each database test then we'd have lots of duplicated tests that are testing the same thing. When people look at the results for json or plaintext they should only see play2-java and play2-scala in the results. It's not helpful in these tests to see comparisons between persistence frameworks.
Here's the test configuration at the moment:
configurations = [
# Java test for common
('Java', None, ['Linux'], ['json']),
('Java', 'Ebean', ['Linux'], ['db', 'query']),
('Java', 'JPA', ['Linux'], ['db', 'query', 'fortune', 'update', 'plaintext']),
('Java', 'JPA HikariCP', ['Linux'], ['db', 'query', 'fortune', 'update', 'plaintext']),
('Scala', None, ['Linux'], ['json']),
('Scala', 'Anorm', ['Linux', 'Windows'], ['db', 'query', 'fortune', 'update']),
('Scala', 'Slick', ['Linux'], ['db', 'query', 'fortune', 'update']),
]I'm suggesting that ultimately we get it looking like:
configurations = [
# Java test for common
('Java', None, ['Linux'], ['json', 'plaintext']),
('Java', 'Ebean', ['Linux'], ['db', 'query', 'fortune', 'update']),
('Java', 'JPA', ['Linux'], ['db', 'query', 'fortune', 'update']),
('Java', 'JPA HikariCP', ['Linux'], ['db', 'query', 'fortune', 'update']),
('Scala', None, ['Linux'], ['json', 'plaintext']),
('Scala', 'Anorm', ['Linux', 'Windows'], ['db', 'query', 'fortune', 'update']),
('Scala', 'Slick', ['Linux'], ['db', 'query', 'fortune', 'update']),
]Does that sound OK?
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
added a commit
to donovanmuller/FrameworkBenchmarks
that referenced
this pull request
Nov 3, 2014
added a commit
to donovanmuller/FrameworkBenchmarks
that referenced
this pull request
Nov 3, 2014
donovanmuller
referenced this pull request
Nov 3, 2014
Merged
Updated all benchmarks to Play 2.3.6 and Scala 2.11.4. #1166
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
donovanmuller
Nov 3, 2014
Contributor
@richdougherty Have implemented your suggestions here as well as updating Ebean benchmark etc.
|
@richdougherty Have implemented your suggestions here as well as updating Ebean benchmark etc. |
donovanmuller commentedOct 29, 2014
Added the remaining tests for
play2-java-jpa:Also added a new benchmark configuration based on
play2-java-jpabut using the HikariCP plugin. This allows the default BoneCP connection pool to be replaced with HikariCP.