You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by JumpStart <ge...@gmail.com> on 2025/06/01 03:48:32 UTC
Less compiler so slow on arm64
On Apple Silicon I’ve just switched from JDK 8 x86 version to JDK 8 arm64 version, and I’m finding that while I’m running my Tapestry 5.4 app (in Eclipse, debug, with the arm64 JRE selected), the compiling of Less files (ResourceTransformerFactoryImpl) is at least 5 times slower. Our Less files are big, so this is a major problem during development.
Has anyone else had this problem? Is there a compiler involved that needs to be upgraded too? Is there perhaps an arm64 version of Tapestry?
Geoff
Re: Less compiler so slow on arm64
Posted by JumpStart <ge...@gmail.com>.
What a magnificently insightful response. Thanks Ben!
> On 1 Jun 2025, at 2:37 pm, Ben Weidig <be...@netzgut.net> wrote:
>
> Hi Geoff,
>
> We're neither using Less nor Java 8 anymore, but I tried to look into it.
>
> The less4j library [0] Tapestry uses is a pure Java reimplementation of
> Less.js, so I don't think the performance issues come from there.
>
> Tapestry itself isn't dependent on the processor architecture, as it has no
> bundled executables, and the JDK/JRE interprets the generated Bytecode
> (also platform independent).
>
> That's why my guess is that the JDK/JRE 8 variant you're using is the
> possible culprit.
> According to JEP 391 [1], there wasn't full native macOS/AArch64 support
> until OpenJDK 17.
>
> As far as I understand it, there's no OpenJDK 8 arm64 build especially for
> Apple Silicon (I might be wrong on this one).
>
> However, Azul JDK seems to have backported Apple Silicon support to as low
> as 8 [2]
> Amazon Coretto also mentions dedicated support [3]
>
> My first try would be installing Azul or Coretto and testing it again for
> performance issues.
>
> With sdkman [4] or jabba [5], it's simple to install additional JDKs
> without polluting the default environment. But I haven't checked if they
> have the particular versions available om Mac.
> At least jabba is also available via homebrew [6].
>
> Cheers
> Ben
>
> [0]: https://github.com/SomMeri/less4j
> [1]: https://openjdk.org/jeps/391
> [2]:
> https://www.azul.com/newsroom/azul-announces-support-of-java-builds-of-openjdk-for-apple-silicon/
> [3]:
> https://github.com/corretto/corretto-8/issues/297#issuecomment-1103974512
> [4]: https://sdkman.io/
> [5]: https://github.com/Jabba-Team/jabba
> [6]: https://formulae.brew.sh/formula/jabba
>
>
>
> On Sun, Jun 1, 2025 at 5:50 AM JumpStart <
> geoff.callender.jumpstart@gmail.com> wrote:
>
>> On Apple Silicon I’ve just switched from JDK 8 x86 version to JDK 8 arm64
>> version, and I’m finding that while I’m running my Tapestry 5.4 app (in
>> Eclipse, debug, with the arm64 JRE selected), the compiling of Less files
>> (ResourceTransformerFactoryImpl) is at least 5 times slower. Our Less files
>> are big, so this is a major problem during development.
>>
>> Has anyone else had this problem? Is there a compiler involved that needs
>> to be upgraded too? Is there perhaps an arm64 version of Tapestry?
>>
>> Geoff
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org
Re: Less compiler so slow on arm64
Posted by Ben Weidig <be...@netzgut.net>.
Hi Geoff,
We're neither using Less nor Java 8 anymore, but I tried to look into it.
The less4j library [0] Tapestry uses is a pure Java reimplementation of
Less.js, so I don't think the performance issues come from there.
Tapestry itself isn't dependent on the processor architecture, as it has no
bundled executables, and the JDK/JRE interprets the generated Bytecode
(also platform independent).
That's why my guess is that the JDK/JRE 8 variant you're using is the
possible culprit.
According to JEP 391 [1], there wasn't full native macOS/AArch64 support
until OpenJDK 17.
As far as I understand it, there's no OpenJDK 8 arm64 build especially for
Apple Silicon (I might be wrong on this one).
However, Azul JDK seems to have backported Apple Silicon support to as low
as 8 [2]
Amazon Coretto also mentions dedicated support [3]
My first try would be installing Azul or Coretto and testing it again for
performance issues.
With sdkman [4] or jabba [5], it's simple to install additional JDKs
without polluting the default environment. But I haven't checked if they
have the particular versions available om Mac.
At least jabba is also available via homebrew [6].
Cheers
Ben
[0]: https://github.com/SomMeri/less4j
[1]: https://openjdk.org/jeps/391
[2]:
https://www.azul.com/newsroom/azul-announces-support-of-java-builds-of-openjdk-for-apple-silicon/
[3]:
https://github.com/corretto/corretto-8/issues/297#issuecomment-1103974512
[4]: https://sdkman.io/
[5]: https://github.com/Jabba-Team/jabba
[6]: https://formulae.brew.sh/formula/jabba
On Sun, Jun 1, 2025 at 5:50 AM JumpStart <
geoff.callender.jumpstart@gmail.com> wrote:
> On Apple Silicon I’ve just switched from JDK 8 x86 version to JDK 8 arm64
> version, and I’m finding that while I’m running my Tapestry 5.4 app (in
> Eclipse, debug, with the arm64 JRE selected), the compiling of Less files
> (ResourceTransformerFactoryImpl) is at least 5 times slower. Our Less files
> are big, so this is a major problem during development.
>
> Has anyone else had this problem? Is there a compiler involved that needs
> to be upgraded too? Is there perhaps an arm64 version of Tapestry?
>
> Geoff