Skip to content

Planning

Lina Urban edited this page Nov 2, 2022 · 1 revision

Konkretisierte Vision

Fragen

  • Warum ist die Binary so groß?
    • Was muss ich (konkret) tun um die Binary zu verkleinern?
      • Kann ein Package zB komplett raus?
  • Was benutzt den meisten Speicher (RAM, Festplatte) - zur Laufzeit / zur build-time?
  • Ist Typ/Methode/Field foo drin? --> warum (nicht)?
  • Wie viele unterschiedliche Stellen rufen foo() auf? (statisch)
  • Wie oft wird foo() zur runtime gecalled?
  • Was ist der relevante Teil des Universums?
    • Was von meiner Applikation ist im Universum drin?
  • An wie vielen unterschiedlichen Stellen wird ein (externes) package genutzt? --> runtime vs. build
    • Wie hängen Packages miteinander zusammen?

Rollen:

Fokussiert:

... Java Jasper und Verzweifelte Veronika sind intertwined!

  • Java Jasper
    • kommt aus der Enterprise/Corperate Ecke
    • Java crack
    • will jetzt AOT, aber will nicht wissen wie GraalVM funktioniert
    • hat keine Zeit, weil er deadlines hat und liefern muss
    • will konkrete Antworten/Vorschläge was zu tun ist
  • Verzweifelte Veronika
    • GraalVM generiert fehlerhafte binary obwohl JIT klappt
    • bzw Build war successful, aber zur Runtime gibt es Fehler, obwohl JIT klappt
    • Error -> Aktion: User/VM Error?
  • Optimierer Otto
    • will das native image auf's Minimum reduzieren (Size, Resource usage, ...)
    • baut an Frameworks (Spring, Micronaut....)

Nebensächlich:

  • Explorer Emma
    • kein GraalVM experte
    • hat viel Zeit und will lernen wie GraalVM funktioniert/was es macht
    • will das binary einfach erkunden
  • Security Sam
    • will verstehen wie sicherheitsrelevanter Code zur Runtime aufgerufen werden kann
    • will eine Garantie über Tests hinaus