Comments (4)
There's no Spring Boot code involved in this, so I'm not sure what we can do about that?
Also, your approach to benchmarking is flawed. You should use something like JMH.
from spring-boot.
This is the Spring code involved:
@Component
public class DatePerformanceTest {
public DatePerformanceTest() {
long start = System.currentTimeMillis();
for (int i = 0; i < 3000000; i++) {
String dateTime = "2024-03-22T12:34:56.123+00:00";
ZonedDateTime zonedDateTime = ZonedDateTime.parse(dateTime, ISO_OFFSET_DATE_TIME);
}
long end = System.currentTimeMillis();
System.out.println("Total parse time ms: " + (end - start));
}
}
from spring-boot.
Measuring the total time it takes to do the parsing should be just fine, We don't need JMH to see that it takes longer time running the parsing code in Spring compared to plain java.
from spring-boot.
This isn't an apples-to-apples comparison and, like @mhalbritter, I don't think it has anything to do with Spring.
When you run the code directly in plain Java, the JVM is in a different state to when the code's run as part of a Spring application. For example, the amount of heap that's available will be different and this will have a knock-on effect on garbage collection. The code that you're measuring creates a significant amount of gargage that has to be collected. When there's less heap available, this collection will have to be performed more often which will slow things down.
You could see this for yourself by running with -verbose:gc
and comparing how hard the garbage collector has to work in each case.
from spring-boot.
Related Issues (20)
- Spring Boot Docker Compose reports exit code 0 on application run failed HOT 2
- Docker compose fails on parsing JSON HOT 3
- Error to generate a container image using BuildPack, java 22 and SpringBoot 3.2.4 HOT 2
- Failed to parse docker JSON HOT 1
- CassandraDataAutoConfiguration's constructor should not require a CqlSession connection HOT 1
- spring boot 3.2.4 version use pulsar 3.1.3 version , but i not want use 3.1.3 version , i want use pulsar 3.2.1 version , how do ? HOT 5
- Test Gradle plugin against Gradle 8.7
- Document new tools mode
- Can not GracefulShutdown application HOT 9
- Test Gradle plugin against Gradle 8.7
- Test Gradle plugin against Gradle 8.7
- Buildpacks do not support Docker with containerd image store
- x-www-form-urlencoded escaping leads to truncated request HOT 1
- Trigger docs build when artifacts are published
- Add caching to docs-build
- Upgrade from 3.0.13 to 3.1.10 - SSL setup through jvm properties broken HOT 3
- JDK22 and GraalVM spring-boot:3.2.4:build-image failed: Builder lifecycle 'creator' failed with status code 51 HOT 1
- Graceful Shutdown behavior ambiguity in Reference Guide
- Configuration items cannot be overridden by startup parameters when using graalvm native image HOT 3
- Clarify that all named properties must match for @ConditionalOnProperty to match HOT 2
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 spring-boot.