nimo23
nimo23

Reputation: 5670

Quarkus extensions and running in long term

I have two questions regarding Quarkus:

  1. Can quarkus be used with ANY java library when NOT using native mode? I don't understand the sense of quarkus extensions, for example, the extensions provided in https://github.com/quarkiverse for non native images. Are these extensions only needed when using quarkus in native mode?

    I read Quarkus extensions nediness, but it vague describes if I can run any java lib in quarkus (when not using native images) without adaptions.

  2. When comparing Quarkus with Wildfly, then it is obvious that Quarkus starts faster, BUT is quarkus also faster (and more memory friendly) while running the application in the long term (24 hours x 7 days)? I have read that, for example, speed and memory consumption on start is better in quarkus than wildfly, BUT when comparing runtime, then the story can be different because of quarkus non dynamical approach (e.g. quarkus bypasses JIT). Is that true? And if so, why?

Currently, I use Wildfly but I am considering to switch to Quarkus if (and only if), it supports all java libs out of the box in non-native mode (like wildfly) and is also better regarding speed and memory consumption while running the application in the long term (and not only at startup).

Upvotes: 0

Views: 277

Answers (1)

Vishal Maral
Vishal Maral

Reputation: 1318

  1. It is true that quarkus can be used with any java library when not using native mode. You are not utilizing Quarkus' real strength by not using extensions. Quarkus works on the philosophy of 'compile time boot' with which it is able to achieve fast start-up time. This is where extensions come into play. extensions tell quarkus what are the things that can be pre-processed even when not using native mode(https://quarkus.io/guides/writing-extensions#why-an-extension-framework)

As per the wiki(https://github.com/quarkiverse/quarkiverse/wiki) quarkiverse is for all the extensions that didn't find its place in quarkus-core project.

  1. There is no binary answer. There are lot blogs on the quarkus experiments and all of them have got varying results. You will need to conduct your own experiments to see if quarkus really fits your usecase and performance expectations. but on the home page(https://quarkus.io/) though they only claim improvements in start-up time and memory consumption.

Quarkus does not bypass JIT, It just perform the same thing differently

Upvotes: 1

Related Questions