... I listed it... but I think JPA will stay there (too many code changes for probably marginal gain)... but what has an impact is the database schema itself... too many things are related/joined (even where we have native SQL)... that one has a real impact.
On Mon, Mar 24, 2025 at 10:19 AM Piotr Wargulak <pwargu...@soldevelo.com.invalid> wrote: > Thanks guys for the tips. > I'll definitely look at the git history and wikis, get my bearings and > contact some of you about the call. > > Although, I must highlight that for now we would like to limit ourselves > to performance improvements that - with luck - could be solved in days, > rather than month-long big refactoring with thousands of LoC. :) > > @Aleks: Leaving JPA/ORM is an interesting thing, from what we've noticed > in the SolDevelo's projects the JPA (Hibernate impl) itself is not that > slow, but rather it's easy to write it slow - the promise that developers > can forget what relation db is, is a little bit of a lie. > > Best regards, > PiotrW > > > > On Mon, Mar 24, 2025 at 3:10 AM Aleksandar Vidakovic < > chee...@monkeysintown.com> wrote: > >> I know of two benchmarking efforts, but both are not public. >> >> On Sun, 23 Mar 2025, 22:47 Tom Daly, <tdal...@gmail.com> wrote: >> >>> Hi Aleks, all. >>> >>> Is there a good set of perf benchmarking tools for measuring fineract + >>> db perf and scalability ? >>> >>> thanks >>> Tom >>> >>> >>> >>> On 23 Mar 2025, at 3:22 pm, Aleksandar Vidakovic < >>> chee...@monkeysintown.com> wrote: >>> >>> Hi Piotr, >>> >>> ... my 2 cents for performance challenges: >>> >>> - modularity: we have a tendency to not respect domain boundaries... >>> which leads to... >>> - database structure (read: too many relationships) >>> - JPA/ORM: convenient, but comes with a price; a lot of newer >>> "modules" come with native SQL instead... which leads to other challenges >>> (not type safe, unreadable code due to string concatenation, security >>> issues again through string concatenation...); QueryDSL would be great >>> here... >>> - manual JSON parsing: we should be using Jackson, but in fact we >>> use Google GSON with a lot of boilerplate handcrafted code >>> - synchronous execution: virtual threads might help; there is a new >>> proposal for handling write requests, see >>> https://issues.apache.org/jira/browse/FINERACT-2169, also >>> https://github.com/apache/fineract/pull/4281 >>> - REST API layer implemented in JAX-RS: I can't really say if there >>> is a performance penalty using JAX-RS with recent implementation versions >>> (we use Jersey, fairly up to date) vs Spring MVC... but JAX-RS is >>> definitely not a first class citizen in the Spring ecosystem; this is why >>> we have the most important tests as integration tests (with a lot of >>> handcrafted client code); performance challenges: test execution time and >>> developer time (maintenance is difficult, code not refactoring friendly) >>> >>> ... here and there there are ongoing efforts to address some of these >>> issues (e.g. as part of Google Summer of Code), but there is still a lot to >>> do... >>> >>> Ping me if you want to chat on Zoom in more detail... >>> >>> Cheers, >>> >>> Aleks >>> >>> On Sat, Mar 22, 2025 at 3:33 AM James Dailey <jdai...@apache.org> wrote: >>> >>>> Piotr - great! >>>> >>>> I would suggest that you examine the new code (contributed last 18 -36 >>>> months) and note where the code has NOT been updated. >>>> >>>> I believe that the key performance issues are going to be in areas >>>> (modules) that haven’t been refactored. >>>> >>>> And, then please follow the refactoring patterns - to keep code as >>>> maintainable as possible. That’s the high level. >>>> >>>> In terms of performance- there’s also a need to look at the build and >>>> test performance- and you can find the discussions on the listserv >>>> archives. >>>> >>>> Finally take a look at the FSIPs on the wiki. >>>> >>>> James >>>> >>>> On Fri, Mar 21, 2025 at 2:45 AM Piotr Wargulak >>>> <pwargu...@soldevelo.com.invalid> wrote: >>>> >>>>> Hello Community, >>>>> >>>>> At SolDevelo, we’re eager to help tackle some of the performance >>>>> challenges in Apache Fineract. We want to focus on real issues that users >>>>> face—ones where improvements would bring meaningful value to the >>>>> community. >>>>> To make sure we're addressing the right problems, we’d love your input! >>>>> >>>>> In the coming days, we’ll dive deeper into Apache Fineract to identify >>>>> potential areas for optimization. However, if there are already well-known >>>>> performance bottlenecks, we’d greatly appreciate any insights you can >>>>> share. >>>>> >>>>> Looking forward to your thoughts! >>>>> >>>>> Best, >>>>> Piotr Wargulak >>>>> SolDevelo.com >>>>> >>>>> >>>>> *SolDevelo* Sp. z o.o. [LLC] / www.soldevelo.com >>>>> Al. Zwycięstwa 96/98 >>>>> <https://www.google.com/maps/search/Al.+Zwyci%C4%99stwa+96%2F98?entry=gmail&source=g>, >>>>> 81-451, Gdynia, Poland >>>>> Phone: +48 58 782 45 40 / Fax: +48 58 782 45 41 >>>>> >>>> >>> > > *SolDevelo* Sp. z o.o. [LLC] / www.soldevelo.com > Al. Zwycięstwa 96/98, 81-451, Gdynia, Poland > Phone: +48 58 782 45 40 / Fax: +48 58 782 45 41 >