
Lunch Talk40min
Augmented Development, the successes, surprises and pitfalls
This talk covers the development of FastDecimal, a performance-optimized alternative to BigDecimal for financial calculations, using Long and AI agents for implementation. It shares insights on methodology, successes, challenges, and benchmarking, with potential live coding and audience Q&A.

Andy BaileyVEDA GmbH
talkDetail.whenAndWhere
Thursday, October 9, 12:55-13:35
Room 9
talks.roomOccupancytalks.noOccupancyInfo
My talk will be based on a real world project called FastDecimal: https://github.com/threadlocalrandom/FastDecimal
The original aim was to create a performance optimised replacement for BigDecimal with a scaling of 4 and using Long as the scaledValue. Although this limits the numerical range of values that can be represented by the type these restrictions on range and scale would be suitable for financial calculations providing acceptable accuracy of operations are achieved.
In addition, the use of Long/long opens up scaling through the use of SIMD operations to parallelize computation.
I decided it would be fun and educational to see how far I could take things using AI Agents like ChatGPT, Claude Sonnet, Gemini and Junie in developing FastDecimal.
The project is small enough in scope to mean not too much time would be wasted if things didn't work and that I would be able to compare existing examples from BigDecimal to confirm correctness through code review and JUnit Tests. In addition I was going to supply JMH Benchmarks to compare BigDecimal and FastDecimal performance.
I will be presenting both my methodology, the things things that worked, the things that really surprised me and those that didn't work at all. If time permits I will also be working on the project "live coding" or "live prompting" as well as answering questions from the audience.
The original aim was to create a performance optimised replacement for BigDecimal with a scaling of 4 and using Long as the scaledValue. Although this limits the numerical range of values that can be represented by the type these restrictions on range and scale would be suitable for financial calculations providing acceptable accuracy of operations are achieved.
In addition, the use of Long/long opens up scaling through the use of SIMD operations to parallelize computation.
I decided it would be fun and educational to see how far I could take things using AI Agents like ChatGPT, Claude Sonnet, Gemini and Junie in developing FastDecimal.
The project is small enough in scope to mean not too much time would be wasted if things didn't work and that I would be able to compare existing examples from BigDecimal to confirm correctness through code review and JUnit Tests. In addition I was going to supply JMH Benchmarks to compare BigDecimal and FastDecimal performance.
I will be presenting both my methodology, the things things that worked, the things that really surprised me and those that didn't work at all. If time permits I will also be working on the project "live coding" or "live prompting" as well as answering questions from the audience.

Andy Bailey
I've been mucking around with computers and programming since I was 16. Since then I studied at Sussex University in the UK and got a Degree in Computer Science and AI.
During my studies my attention was brought to a weird new SDK for a system that promised "Write once, run anywhere". This was in 1995 and my first encounter with Java.
I have a varied professional background from Research Assistant at the UK Ministry of Defence (where I was able to play with some awesome tools for AI back in the 1980's!) to my current position as Technical Team Lead for a project migrating RPG to Java.
I have been a professional Java Backend Developer for over 25 years now.
Unrelated to this is a love of singing, a passion for reading and joy found in the kitchen, where despite my best efforts I have yet to kill anyone with food poisoning.
My current owner is a cat named Petti and my long suffering Wife of 30 years.
During my studies my attention was brought to a weird new SDK for a system that promised "Write once, run anywhere". This was in 1995 and my first encounter with Java.
I have a varied professional background from Research Assistant at the UK Ministry of Defence (where I was able to play with some awesome tools for AI back in the 1980's!) to my current position as Technical Team Lead for a project migrating RPG to Java.
I have been a professional Java Backend Developer for over 25 years now.
Unrelated to this is a love of singing, a passion for reading and joy found in the kitchen, where despite my best efforts I have yet to kill anyone with food poisoning.
My current owner is a cat named Petti and my long suffering Wife of 30 years.
talkDetail.shareFeedback
talkDetail.feedbackNotYetAvailable
talkDetail.feedbackAvailableAfterStart
talkDetail.signInRequired
talkDetail.signInToFeedbackDescription
occupancy.title
occupancy.votingNotYetAvailable
occupancy.votingAvailableBeforeStart
talkDetail.signInRequired
occupancy.signInToVoteDescription
comments.speakerNotEnabledComments