Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add note about C2 compiler in dev-mode #38635

Merged
merged 1 commit into from
Feb 7, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions docs/src/main/asciidoc/dev-mode-differences.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -102,12 +102,17 @@

In contrast, in a production application the main objective for Quarkus is to consume the least amount of memory and startup in the smallest amount of time.
Thus, when running the production application, build time operations are not performed (by definition) and various infrastructure classes needed at build time are not present at all at runtime.
Furthermore, the purpose built ClassLoader that comes with the xref:maven-tooling.adoc#fast-jar[fast-jar] package type ensures that class lookup is done as fast as possible while also keeping

Check warning on line 105 in docs/src/main/asciidoc/dev-mode-differences.adoc

View workflow job for this annotation

GitHub Actions / Linting with Vale

[vale] reported by reviewdog 🐶 [Quarkus.TermsWarnings] Consider using 'includes' rather than 'comes with' unless updating existing content that uses the term. Raw Output: {"message": "[Quarkus.TermsWarnings] Consider using 'includes' rather than 'comes with' unless updating existing content that uses the term.", "location": {"path": "docs/src/main/asciidoc/dev-mode-differences.adoc", "range": {"start": {"line": 105, "column": 49}}}, "severity": "WARNING"}

Check warning on line 105 in docs/src/main/asciidoc/dev-mode-differences.adoc

View workflow job for this annotation

GitHub Actions / Linting with Vale

[vale] reported by reviewdog 🐶 [Quarkus.TermsSuggestions] Depending on the context, consider using 'because' or 'while' rather than 'as'. Raw Output: {"message": "[Quarkus.TermsSuggestions] Depending on the context, consider using 'because' or 'while' rather than 'as'.", "location": {"path": "docs/src/main/asciidoc/dev-mode-differences.adoc", "range": {"start": {"line": 105, "column": 154}}}, "severity": "INFO"}
the minimum amount of jars in memory.

[NOTE]
====
Since optimal performance is never an objective of dev mode, in the interest of improving startup time, the JVM's C2 compiler is disabled in dev mode.
====

== Security implications

Perhaps the most important reason why dev mode applications should not be run in production is that the dev mode allows reading information that could be confidential (via the Dev-UI)

Check warning on line 115 in docs/src/main/asciidoc/dev-mode-differences.adoc

View workflow job for this annotation

GitHub Actions / Linting with Vale

[vale] reported by reviewdog 🐶 [Quarkus.SentenceLength] Try to keep sentences to an average of 32 words or fewer. Raw Output: {"message": "[Quarkus.SentenceLength] Try to keep sentences to an average of 32 words or fewer.", "location": {"path": "docs/src/main/asciidoc/dev-mode-differences.adoc", "range": {"start": {"line": 115, "column": 1}}}, "severity": "INFO"}

Check warning on line 115 in docs/src/main/asciidoc/dev-mode-differences.adoc

View workflow job for this annotation

GitHub Actions / Linting with Vale

[vale] reported by reviewdog 🐶 [Quarkus.TermsWarnings] Consider using 'through', 'by', 'from', 'on', or 'by using' rather than 'via' unless updating existing content that uses the term. Raw Output: {"message": "[Quarkus.TermsWarnings] Consider using 'through', 'by', 'from', 'on', or 'by using' rather than 'via' unless updating existing content that uses the term.", "location": {"path": "docs/src/main/asciidoc/dev-mode-differences.adoc", "range": {"start": {"line": 115, "column": 169}}}, "severity": "WARNING"}
while also giving access to operations that could be destructive (either by exposing endpoints that should not be available in production application or via the Dev-UI).

== Native executable
Expand Down
Loading