You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomee.apache.org by Richard Monson-Haefel <mo...@gmail.com> on 2019/11/13 12:55:55 UTC

Re: TomEE GraalVM native image

Hi!

That would be cool. If memory serves there may be some issues with
reflection and complication but running TomEE on GraalVM should work since
it won't try to compile the reflection stuff.  I haven't run it on GraalVM
myself, but this would be a really cool effort and if you can get it to
work it would be an awesome addition to the project in my opinion.  Are you
interested in testing it out and working on it?

Richard

On Wed, Nov 13, 2019 at 5:35 AM COURTAULT Francois <
francois.courtault@thalesgroup.com> wrote:

> Hello everyone,
>
> I am able to see some initiatives around GraalVM native-image like
> Quarkus, Helidon,...
> I have also seen that Tomcat 9.0.26 could be built as a native image:
> http://tomcat.apache.org/tomcat-9.0-doc/graal.html
>
> Digging on the web, I discover some work on TomEE side as well:
> https://github.com/tomitribe/graalvm-microprofile
>
> Are you working on a TomEE version which can be built as a GraalVM native
> image ?
> I think it should be a quite important topic to consider in the roadmap,
> right ?
>
> Best Regards.
>
>
>
> ________________________________
> This message and any attachments are intended solely for the addressees
> and may contain confidential information. Any unauthorized use or
> disclosure, either whole or partial, is prohibited.
> E-mails are susceptible to alteration. Our company shall not be liable for
> the message if altered, changed or falsified. If you are not the intended
> recipient of this message, please delete it and notify the sender.
> Although all reasonable efforts have been made to keep this transmission
> free from viruses, the sender will not be liable for damages caused by a
> transmitted virus.
>


-- 
Richard Monson-Haefel
https://twitter.com/rmonson
https://www.linkedin.com/in/monsonhaefel/

Re: TomEE GraalVM native image

Posted by Roberto Cortez <ra...@yahoo.com.INVALID>.
GraalVM in JVM mode is still Hotspot with the GraalVM JIT compiler.

I would say that you should run some performance tests before doing the switch. In same workloads Graal JIT compiler performs better, some other cases Hotspot JIT compiler is better.

> On 13 Nov 2019, at 15:14, Richard Monson-Haefel <mo...@gmail.com> wrote:
> 
> Thanks, Roberto!  So, compiling with it is probably not going to be a
> priority, but running TomEE on it could be. I wonder if the
> performance advantages of using GraalVM over JVM is significant.
> 
> On Wed, Nov 13, 2019 at 8:46 AM Roberto Cortez <ra...@yahoo.com.invalid>
> wrote:
> 
>> Hi,
>> 
>> Let me clarify that this repo:
>> https://github.com/tomitribe/graalvm-microprofile <
>> https://github.com/tomitribe/graalvm-microprofile>
>> 
>> Is just to play around with the polyglot features of GraalVM.
>> 
>> Building TomEE native images will be another story. I did try that when I
>> was playing with the other repo and there are a lot of things that fail.
>> This is not only about TomEE, but also about all the libraries used in
>> TomEE itself.
>> 
>> To be able to build to native image, you would need to comply with
>> Substrate VM limitations stated here:
>> https://github.com/oracle/graal/blob/master/substratevm/LIMITATIONS.md <
>> https://github.com/oracle/graal/blob/master/substratevm/LIMITATIONS.md>
>> 
>> For instance, projects like Quarkus or Micronaut removed all reflection
>> calls and resolve these at compile time rather than runtime. While it is
>> possible to instruct GraalVM about some reflection usage when doing the
>> native image, I believe it won’t be enough in TomEE case and most likely
>> some portions would need to be reimplemented. I have no idea what would be
>> the effort involved in a task like this. It is not trivial.
>> 
>> Cheers,
>> Roberto
>> 
>>> On 13 Nov 2019, at 12:55, Richard Monson-Haefel <mo...@gmail.com>
>> wrote:
>>> 
>>> Hi!
>>> 
>>> That would be cool. If memory serves there may be some issues with
>>> reflection and complication but running TomEE on GraalVM should work
>> since
>>> it won't try to compile the reflection stuff.  I haven't run it on
>> GraalVM
>>> myself, but this would be a really cool effort and if you can get it to
>>> work it would be an awesome addition to the project in my opinion.  Are
>> you
>>> interested in testing it out and working on it?
>>> 
>>> Richard
>>> 
>>> On Wed, Nov 13, 2019 at 5:35 AM COURTAULT Francois <
>>> francois.courtault@thalesgroup.com> wrote:
>>> 
>>>> Hello everyone,
>>>> 
>>>> I am able to see some initiatives around GraalVM native-image like
>>>> Quarkus, Helidon,...
>>>> I have also seen that Tomcat 9.0.26 could be built as a native image:
>>>> http://tomcat.apache.org/tomcat-9.0-doc/graal.html
>>>> 
>>>> Digging on the web, I discover some work on TomEE side as well:
>>>> https://github.com/tomitribe/graalvm-microprofile
>>>> 
>>>> Are you working on a TomEE version which can be built as a GraalVM
>> native
>>>> image ?
>>>> I think it should be a quite important topic to consider in the roadmap,
>>>> right ?
>>>> 
>>>> Best Regards.
>>>> 
>>>> 
>>>> 
>>>> ________________________________
>>>> This message and any attachments are intended solely for the addressees
>>>> and may contain confidential information. Any unauthorized use or
>>>> disclosure, either whole or partial, is prohibited.
>>>> E-mails are susceptible to alteration. Our company shall not be liable
>> for
>>>> the message if altered, changed or falsified. If you are not the
>> intended
>>>> recipient of this message, please delete it and notify the sender.
>>>> Although all reasonable efforts have been made to keep this transmission
>>>> free from viruses, the sender will not be liable for damages caused by a
>>>> transmitted virus.
>>>> 
>>> 
>>> 
>>> --
>>> Richard Monson-Haefel
>>> https://twitter.com/rmonson
>>> https://www.linkedin.com/in/monsonhaefel/
>> 
>> 
> 
> -- 
> Richard Monson-Haefel
> https://twitter.com/rmonson
> https://www.linkedin.com/in/monsonhaefel/


Re: TomEE GraalVM native image

Posted by Roberto Cortez <ra...@yahoo.com.INVALID>.
GraalVM in JVM mode is still Hotspot with the GraalVM JIT compiler.

I would say that you should run some performance tests before doing the switch. In same workloads Graal JIT compiler performs better, some other cases Hotspot JIT compiler is better.

> On 13 Nov 2019, at 15:14, Richard Monson-Haefel <mo...@gmail.com> wrote:
> 
> Thanks, Roberto!  So, compiling with it is probably not going to be a
> priority, but running TomEE on it could be. I wonder if the
> performance advantages of using GraalVM over JVM is significant.
> 
> On Wed, Nov 13, 2019 at 8:46 AM Roberto Cortez <ra...@yahoo.com.invalid>
> wrote:
> 
>> Hi,
>> 
>> Let me clarify that this repo:
>> https://github.com/tomitribe/graalvm-microprofile <
>> https://github.com/tomitribe/graalvm-microprofile>
>> 
>> Is just to play around with the polyglot features of GraalVM.
>> 
>> Building TomEE native images will be another story. I did try that when I
>> was playing with the other repo and there are a lot of things that fail.
>> This is not only about TomEE, but also about all the libraries used in
>> TomEE itself.
>> 
>> To be able to build to native image, you would need to comply with
>> Substrate VM limitations stated here:
>> https://github.com/oracle/graal/blob/master/substratevm/LIMITATIONS.md <
>> https://github.com/oracle/graal/blob/master/substratevm/LIMITATIONS.md>
>> 
>> For instance, projects like Quarkus or Micronaut removed all reflection
>> calls and resolve these at compile time rather than runtime. While it is
>> possible to instruct GraalVM about some reflection usage when doing the
>> native image, I believe it won’t be enough in TomEE case and most likely
>> some portions would need to be reimplemented. I have no idea what would be
>> the effort involved in a task like this. It is not trivial.
>> 
>> Cheers,
>> Roberto
>> 
>>> On 13 Nov 2019, at 12:55, Richard Monson-Haefel <mo...@gmail.com>
>> wrote:
>>> 
>>> Hi!
>>> 
>>> That would be cool. If memory serves there may be some issues with
>>> reflection and complication but running TomEE on GraalVM should work
>> since
>>> it won't try to compile the reflection stuff.  I haven't run it on
>> GraalVM
>>> myself, but this would be a really cool effort and if you can get it to
>>> work it would be an awesome addition to the project in my opinion.  Are
>> you
>>> interested in testing it out and working on it?
>>> 
>>> Richard
>>> 
>>> On Wed, Nov 13, 2019 at 5:35 AM COURTAULT Francois <
>>> francois.courtault@thalesgroup.com> wrote:
>>> 
>>>> Hello everyone,
>>>> 
>>>> I am able to see some initiatives around GraalVM native-image like
>>>> Quarkus, Helidon,...
>>>> I have also seen that Tomcat 9.0.26 could be built as a native image:
>>>> http://tomcat.apache.org/tomcat-9.0-doc/graal.html
>>>> 
>>>> Digging on the web, I discover some work on TomEE side as well:
>>>> https://github.com/tomitribe/graalvm-microprofile
>>>> 
>>>> Are you working on a TomEE version which can be built as a GraalVM
>> native
>>>> image ?
>>>> I think it should be a quite important topic to consider in the roadmap,
>>>> right ?
>>>> 
>>>> Best Regards.
>>>> 
>>>> 
>>>> 
>>>> ________________________________
>>>> This message and any attachments are intended solely for the addressees
>>>> and may contain confidential information. Any unauthorized use or
>>>> disclosure, either whole or partial, is prohibited.
>>>> E-mails are susceptible to alteration. Our company shall not be liable
>> for
>>>> the message if altered, changed or falsified. If you are not the
>> intended
>>>> recipient of this message, please delete it and notify the sender.
>>>> Although all reasonable efforts have been made to keep this transmission
>>>> free from viruses, the sender will not be liable for damages caused by a
>>>> transmitted virus.
>>>> 
>>> 
>>> 
>>> --
>>> Richard Monson-Haefel
>>> https://twitter.com/rmonson
>>> https://www.linkedin.com/in/monsonhaefel/
>> 
>> 
> 
> -- 
> Richard Monson-Haefel
> https://twitter.com/rmonson
> https://www.linkedin.com/in/monsonhaefel/


Re: TomEE GraalVM native image

Posted by Richard Monson-Haefel <mo...@gmail.com>.
Thanks, Roberto!  So, compiling with it is probably not going to be a
priority, but running TomEE on it could be. I wonder if the
performance advantages of using GraalVM over JVM is significant.

On Wed, Nov 13, 2019 at 8:46 AM Roberto Cortez <ra...@yahoo.com.invalid>
wrote:

> Hi,
>
> Let me clarify that this repo:
> https://github.com/tomitribe/graalvm-microprofile <
> https://github.com/tomitribe/graalvm-microprofile>
>
> Is just to play around with the polyglot features of GraalVM.
>
> Building TomEE native images will be another story. I did try that when I
> was playing with the other repo and there are a lot of things that fail.
> This is not only about TomEE, but also about all the libraries used in
> TomEE itself.
>
> To be able to build to native image, you would need to comply with
> Substrate VM limitations stated here:
> https://github.com/oracle/graal/blob/master/substratevm/LIMITATIONS.md <
> https://github.com/oracle/graal/blob/master/substratevm/LIMITATIONS.md>
>
> For instance, projects like Quarkus or Micronaut removed all reflection
> calls and resolve these at compile time rather than runtime. While it is
> possible to instruct GraalVM about some reflection usage when doing the
> native image, I believe it won’t be enough in TomEE case and most likely
> some portions would need to be reimplemented. I have no idea what would be
> the effort involved in a task like this. It is not trivial.
>
> Cheers,
> Roberto
>
> > On 13 Nov 2019, at 12:55, Richard Monson-Haefel <mo...@gmail.com>
> wrote:
> >
> > Hi!
> >
> > That would be cool. If memory serves there may be some issues with
> > reflection and complication but running TomEE on GraalVM should work
> since
> > it won't try to compile the reflection stuff.  I haven't run it on
> GraalVM
> > myself, but this would be a really cool effort and if you can get it to
> > work it would be an awesome addition to the project in my opinion.  Are
> you
> > interested in testing it out and working on it?
> >
> > Richard
> >
> > On Wed, Nov 13, 2019 at 5:35 AM COURTAULT Francois <
> > francois.courtault@thalesgroup.com> wrote:
> >
> >> Hello everyone,
> >>
> >> I am able to see some initiatives around GraalVM native-image like
> >> Quarkus, Helidon,...
> >> I have also seen that Tomcat 9.0.26 could be built as a native image:
> >> http://tomcat.apache.org/tomcat-9.0-doc/graal.html
> >>
> >> Digging on the web, I discover some work on TomEE side as well:
> >> https://github.com/tomitribe/graalvm-microprofile
> >>
> >> Are you working on a TomEE version which can be built as a GraalVM
> native
> >> image ?
> >> I think it should be a quite important topic to consider in the roadmap,
> >> right ?
> >>
> >> Best Regards.
> >>
> >>
> >>
> >> ________________________________
> >> This message and any attachments are intended solely for the addressees
> >> and may contain confidential information. Any unauthorized use or
> >> disclosure, either whole or partial, is prohibited.
> >> E-mails are susceptible to alteration. Our company shall not be liable
> for
> >> the message if altered, changed or falsified. If you are not the
> intended
> >> recipient of this message, please delete it and notify the sender.
> >> Although all reasonable efforts have been made to keep this transmission
> >> free from viruses, the sender will not be liable for damages caused by a
> >> transmitted virus.
> >>
> >
> >
> > --
> > Richard Monson-Haefel
> > https://twitter.com/rmonson
> > https://www.linkedin.com/in/monsonhaefel/
>
>

-- 
Richard Monson-Haefel
https://twitter.com/rmonson
https://www.linkedin.com/in/monsonhaefel/

Re: TomEE GraalVM native image

Posted by Richard Monson-Haefel <mo...@gmail.com>.
Thanks, Roberto!  So, compiling with it is probably not going to be a
priority, but running TomEE on it could be. I wonder if the
performance advantages of using GraalVM over JVM is significant.

On Wed, Nov 13, 2019 at 8:46 AM Roberto Cortez <ra...@yahoo.com.invalid>
wrote:

> Hi,
>
> Let me clarify that this repo:
> https://github.com/tomitribe/graalvm-microprofile <
> https://github.com/tomitribe/graalvm-microprofile>
>
> Is just to play around with the polyglot features of GraalVM.
>
> Building TomEE native images will be another story. I did try that when I
> was playing with the other repo and there are a lot of things that fail.
> This is not only about TomEE, but also about all the libraries used in
> TomEE itself.
>
> To be able to build to native image, you would need to comply with
> Substrate VM limitations stated here:
> https://github.com/oracle/graal/blob/master/substratevm/LIMITATIONS.md <
> https://github.com/oracle/graal/blob/master/substratevm/LIMITATIONS.md>
>
> For instance, projects like Quarkus or Micronaut removed all reflection
> calls and resolve these at compile time rather than runtime. While it is
> possible to instruct GraalVM about some reflection usage when doing the
> native image, I believe it won’t be enough in TomEE case and most likely
> some portions would need to be reimplemented. I have no idea what would be
> the effort involved in a task like this. It is not trivial.
>
> Cheers,
> Roberto
>
> > On 13 Nov 2019, at 12:55, Richard Monson-Haefel <mo...@gmail.com>
> wrote:
> >
> > Hi!
> >
> > That would be cool. If memory serves there may be some issues with
> > reflection and complication but running TomEE on GraalVM should work
> since
> > it won't try to compile the reflection stuff.  I haven't run it on
> GraalVM
> > myself, but this would be a really cool effort and if you can get it to
> > work it would be an awesome addition to the project in my opinion.  Are
> you
> > interested in testing it out and working on it?
> >
> > Richard
> >
> > On Wed, Nov 13, 2019 at 5:35 AM COURTAULT Francois <
> > francois.courtault@thalesgroup.com> wrote:
> >
> >> Hello everyone,
> >>
> >> I am able to see some initiatives around GraalVM native-image like
> >> Quarkus, Helidon,...
> >> I have also seen that Tomcat 9.0.26 could be built as a native image:
> >> http://tomcat.apache.org/tomcat-9.0-doc/graal.html
> >>
> >> Digging on the web, I discover some work on TomEE side as well:
> >> https://github.com/tomitribe/graalvm-microprofile
> >>
> >> Are you working on a TomEE version which can be built as a GraalVM
> native
> >> image ?
> >> I think it should be a quite important topic to consider in the roadmap,
> >> right ?
> >>
> >> Best Regards.
> >>
> >>
> >>
> >> ________________________________
> >> This message and any attachments are intended solely for the addressees
> >> and may contain confidential information. Any unauthorized use or
> >> disclosure, either whole or partial, is prohibited.
> >> E-mails are susceptible to alteration. Our company shall not be liable
> for
> >> the message if altered, changed or falsified. If you are not the
> intended
> >> recipient of this message, please delete it and notify the sender.
> >> Although all reasonable efforts have been made to keep this transmission
> >> free from viruses, the sender will not be liable for damages caused by a
> >> transmitted virus.
> >>
> >
> >
> > --
> > Richard Monson-Haefel
> > https://twitter.com/rmonson
> > https://www.linkedin.com/in/monsonhaefel/
>
>

-- 
Richard Monson-Haefel
https://twitter.com/rmonson
https://www.linkedin.com/in/monsonhaefel/

Re: TomEE GraalVM native image

Posted by Roberto Cortez <ra...@yahoo.com.INVALID>.
Hi,

Let me clarify that this repo:
https://github.com/tomitribe/graalvm-microprofile <https://github.com/tomitribe/graalvm-microprofile>

Is just to play around with the polyglot features of GraalVM.

Building TomEE native images will be another story. I did try that when I was playing with the other repo and there are a lot of things that fail. This is not only about TomEE, but also about all the libraries used in TomEE itself. 

To be able to build to native image, you would need to comply with Substrate VM limitations stated here:
https://github.com/oracle/graal/blob/master/substratevm/LIMITATIONS.md <https://github.com/oracle/graal/blob/master/substratevm/LIMITATIONS.md>

For instance, projects like Quarkus or Micronaut removed all reflection calls and resolve these at compile time rather than runtime. While it is possible to instruct GraalVM about some reflection usage when doing the native image, I believe it won’t be enough in TomEE case and most likely some portions would need to be reimplemented. I have no idea what would be the effort involved in a task like this. It is not trivial.

Cheers,
Roberto 

> On 13 Nov 2019, at 12:55, Richard Monson-Haefel <mo...@gmail.com> wrote:
> 
> Hi!
> 
> That would be cool. If memory serves there may be some issues with
> reflection and complication but running TomEE on GraalVM should work since
> it won't try to compile the reflection stuff.  I haven't run it on GraalVM
> myself, but this would be a really cool effort and if you can get it to
> work it would be an awesome addition to the project in my opinion.  Are you
> interested in testing it out and working on it?
> 
> Richard
> 
> On Wed, Nov 13, 2019 at 5:35 AM COURTAULT Francois <
> francois.courtault@thalesgroup.com> wrote:
> 
>> Hello everyone,
>> 
>> I am able to see some initiatives around GraalVM native-image like
>> Quarkus, Helidon,...
>> I have also seen that Tomcat 9.0.26 could be built as a native image:
>> http://tomcat.apache.org/tomcat-9.0-doc/graal.html
>> 
>> Digging on the web, I discover some work on TomEE side as well:
>> https://github.com/tomitribe/graalvm-microprofile
>> 
>> Are you working on a TomEE version which can be built as a GraalVM native
>> image ?
>> I think it should be a quite important topic to consider in the roadmap,
>> right ?
>> 
>> Best Regards.
>> 
>> 
>> 
>> ________________________________
>> This message and any attachments are intended solely for the addressees
>> and may contain confidential information. Any unauthorized use or
>> disclosure, either whole or partial, is prohibited.
>> E-mails are susceptible to alteration. Our company shall not be liable for
>> the message if altered, changed or falsified. If you are not the intended
>> recipient of this message, please delete it and notify the sender.
>> Although all reasonable efforts have been made to keep this transmission
>> free from viruses, the sender will not be liable for damages caused by a
>> transmitted virus.
>> 
> 
> 
> -- 
> Richard Monson-Haefel
> https://twitter.com/rmonson
> https://www.linkedin.com/in/monsonhaefel/


Re: TomEE GraalVM native image

Posted by Roberto Cortez <ra...@yahoo.com.INVALID>.
Hi,

Let me clarify that this repo:
https://github.com/tomitribe/graalvm-microprofile <https://github.com/tomitribe/graalvm-microprofile>

Is just to play around with the polyglot features of GraalVM.

Building TomEE native images will be another story. I did try that when I was playing with the other repo and there are a lot of things that fail. This is not only about TomEE, but also about all the libraries used in TomEE itself. 

To be able to build to native image, you would need to comply with Substrate VM limitations stated here:
https://github.com/oracle/graal/blob/master/substratevm/LIMITATIONS.md <https://github.com/oracle/graal/blob/master/substratevm/LIMITATIONS.md>

For instance, projects like Quarkus or Micronaut removed all reflection calls and resolve these at compile time rather than runtime. While it is possible to instruct GraalVM about some reflection usage when doing the native image, I believe it won’t be enough in TomEE case and most likely some portions would need to be reimplemented. I have no idea what would be the effort involved in a task like this. It is not trivial.

Cheers,
Roberto 

> On 13 Nov 2019, at 12:55, Richard Monson-Haefel <mo...@gmail.com> wrote:
> 
> Hi!
> 
> That would be cool. If memory serves there may be some issues with
> reflection and complication but running TomEE on GraalVM should work since
> it won't try to compile the reflection stuff.  I haven't run it on GraalVM
> myself, but this would be a really cool effort and if you can get it to
> work it would be an awesome addition to the project in my opinion.  Are you
> interested in testing it out and working on it?
> 
> Richard
> 
> On Wed, Nov 13, 2019 at 5:35 AM COURTAULT Francois <
> francois.courtault@thalesgroup.com> wrote:
> 
>> Hello everyone,
>> 
>> I am able to see some initiatives around GraalVM native-image like
>> Quarkus, Helidon,...
>> I have also seen that Tomcat 9.0.26 could be built as a native image:
>> http://tomcat.apache.org/tomcat-9.0-doc/graal.html
>> 
>> Digging on the web, I discover some work on TomEE side as well:
>> https://github.com/tomitribe/graalvm-microprofile
>> 
>> Are you working on a TomEE version which can be built as a GraalVM native
>> image ?
>> I think it should be a quite important topic to consider in the roadmap,
>> right ?
>> 
>> Best Regards.
>> 
>> 
>> 
>> ________________________________
>> This message and any attachments are intended solely for the addressees
>> and may contain confidential information. Any unauthorized use or
>> disclosure, either whole or partial, is prohibited.
>> E-mails are susceptible to alteration. Our company shall not be liable for
>> the message if altered, changed or falsified. If you are not the intended
>> recipient of this message, please delete it and notify the sender.
>> Although all reasonable efforts have been made to keep this transmission
>> free from viruses, the sender will not be liable for damages caused by a
>> transmitted virus.
>> 
> 
> 
> -- 
> Richard Monson-Haefel
> https://twitter.com/rmonson
> https://www.linkedin.com/in/monsonhaefel/