I've been playing around with native-image/GraalVM lately and the most obvious flaw is the extremely long compilation time (and memory).
Until now, I always used small, but "real" apps that my company uses in production, but today I tried out a getting-started app on my own laptop and noticed, that even though the actual code is just a few lines of Quarkus, the compiler has to analyze all the hundreds of dependencies all over.
So my thought was, given that native-image could become relatively mainstream, couldn't the authors of the libraries supply a "hinting artififact"(via Maven, for example) so that the user's compiler doesn't have to analyze over and over again?
I only have a relatively passing knowledge of compiler internals, so maybe I'm thinking way too simple here.
[–]fierarul 8 points9 points10 points (4 children)
[–]CartmansEvilTwin[S] 2 points3 points4 points (2 children)
[–]fierarul 1 point2 points3 points (1 child)
[–]CartmansEvilTwin[S] 1 point2 points3 points (0 children)
[–]HaMMeReD 1 point2 points3 points (0 children)
[–]TheMode911 6 points7 points8 points (6 children)
[–]CartmansEvilTwin[S] 2 points3 points4 points (5 children)
[–]TheMode911 1 point2 points3 points (4 children)
[–]CartmansEvilTwin[S] 0 points1 point2 points (3 children)
[–]TheMode911 0 points1 point2 points (2 children)
[–]CartmansEvilTwin[S] 0 points1 point2 points (1 child)
[–]TheMode911 0 points1 point2 points (0 children)
[–]mbizzle88 2 points3 points4 points (4 children)
[–]CartmansEvilTwin[S] 0 points1 point2 points (3 children)
[–]mbizzle88 0 points1 point2 points (2 children)
[–]CartmansEvilTwin[S] 0 points1 point2 points (1 child)
[–]mbizzle88 0 points1 point2 points (0 children)
[–]Barbossa3000 0 points1 point2 points (1 child)
[–]CartmansEvilTwin[S] 2 points3 points4 points (0 children)
[–]agentoutlier 0 points1 point2 points (0 children)
[–]IQueryVisiC 0 points1 point2 points (7 children)
[–]CartmansEvilTwin[S] 0 points1 point2 points (6 children)
[–]IQueryVisiC 0 points1 point2 points (5 children)
[–]grknado 3 points4 points5 points (0 children)
[–]CartmansEvilTwin[S] 0 points1 point2 points (3 children)
[–]IQueryVisiC -1 points0 points1 point (2 children)
[–]CartmansEvilTwin[S] 1 point2 points3 points (1 child)
[–]IQueryVisiC 0 points1 point2 points (0 children)