π· Photographer γ» π¨βπ©βπ¦βπ¦ Father γ» π¨π³ Mandarin Learner
π€ Self-Hoster γ» π¨βπ» Go Developer γ» π Letter Writer
π London γ» πΊοΈ China
π¨βπ» bill.dev
ποΈ meet.bill.dev
“meeting the needs of the present without compromising the ability of future generations to meet their own needs.”
“Resource efficiency means using the Earthβs limited resources in a sustainable manner while minimising environmental impacts. It allows us to create more with less and to deliver greater value with less input.”
Metric | Value (2024-2025) |
---|---|
Data centre electricity consumption | ~415β500 TWh |
Share of total electricity consumption | ~1.5% |
Projected 2030 consumption | ~945 TWh |
Drivers for growth | AI workloads, cloud, crypto |
Source: iea.org
All apps are different
Spring Boot requires at least Java 17
8 β 11 β 17 β 21 β 25
sdk use java 8.0.452-librca
./mvnw clean package -DskipTests
java -jar target/spring-petclinic-2.7.3.jar
metric | value |
---|---|
application.started.time |
2.777s |
jvm.memory.used |
425482804 bytes |
sdk use java 24.0.1-librca
./mvnw clean package -DskipTests
java -jar target/spring-petclinic-2.7.3.jar
metric | value |
---|---|
application.started.time |
2.967s |
jvm.memory.used |
180627216 bytes |
git checkout 3.5.0
sdk use java 24.0.1-librca
./mvnw clean package -DskipTests
java -jar target/spring-petclinic-2.7.3.jar
metric | value |
---|---|
application.started.time |
2.614s |
jvm.memory.used |
317451088 bytes |
git checkout 3.5.0
sdk use java 24.0.1-librca
./mvnw clean package -DskipTests
java -Djarmode=tools \
-jar target/spring-petclinic-3.5.0-SNAPSHOT.jar \
extract --destination application
java -jar application/spring-petclinic-3.5.0-SNAPSHOT.jar
metric | value |
---|---|
application.started.time |
2.152s |
jvm.memory.used |
185253504 bytes |
spring.threads.virtual.enabled=true
java -XX:ArchiveClassesAtExit=application.jsa \
-Dspring.context.exit=onRefresh \
-jar application/spring-petclinic-3.5.0-SNAPSHOT.jar
java -XX:SharedArchiveFile=application.jsa \
-jar application/spring-petclinic-3.5.0-SNAPSHOT.jar
metric | value |
---|---|
application.started.time |
1.194s |
jvm.memory.used |
299730896 bytes |
java -Djarmode=tools \
-jar target/spring-petclinic-3.5.0-SNAPSHOT.jar \
extract --destination application
java -Dspring.aot.enabled=true \
-jar application/spring-petclinic-3.5.0-SNAPSHOT.jar
metric | value |
---|---|
application.started.time |
1.917s |
jvm.memory.used |
184700336 bytes |
sdk use java 24.0.1-graalce
./mvnw -q -Pnative clean native:compile \
-DskipTests -Dcheckstyle.skip
./target/spring-petclinic
metric | value |
---|---|
application.started.time |
0.204s |
jvm.memory.used |
44695592 bytes |
Must do all the above while minimising environmental footprint
*not currently in Cloud Foundry
New Upgrade to full foundations!
Idea Reduced minimum install footprint
π¨βπ» bill.dev
ποΈ meet.bill.dev