Gralat codes for graal

Translating out of SSA

2024.05.05 10:17 jesho Translating out of SSA

I'm writing a toy Lisp and use an SSA representation. The translation into (T)SSA and CSSA was straight forward, since I found a lot of online course material describing the process, but I have problem with implementing a non-naive translation out of SSA.
I have found two articles describing the process which are often referenced to: Translating Out of Static Single Assignment Form and Revisiting Out-of-SSA. I decided to go with Out-of-SSA method and there was no problem implementing the algorithms for interference checking since pseudo code is provided.
But in section IV:C Virtualization of the φ-nodes the process of φ-elimination is only described at a high level and I can't figure out how to do the implementation.
Can anyone point me to some material describing this process in more depth, preferably with examples and/or pseudo code?
If not, is there a simpler algorithm that provides reasonable results? Perhaps method I/II of Translating Out of SSA and then the described CSSA-based coalescing?
submitted by jesho to Compilers [link] [comments]


2024.04.18 14:38 Tycho_Jissard MS-ISAC CYBERSECURITY ADVISORY - Oracle Quarterly Critical Patches Issued April 16, 2024 - PATCH NOW

MS-ISAC CYBERSECURITY ADVISORY
MS-ISAC ADVISORY NUMBER: 2024-042
DATE(S) ISSUED: 04/17/2024
SUBJECT: Oracle Quarterly Critical Patches Issued April 16, 2024
OVERVIEW: Multiple vulnerabilities have been discovered in Oracle products, the most severe of which could allow for remote code execution.
SYSTEMS AFFECTED:
RISK: Government:
Businesses:
Home users: Low
RECOMMENDATIONS: We recommend the following actions be taken:
Safeguard 10.5: Enable Anti-Exploitation Features: Enable anti-exploitation features on enterprise assets and software, where possible, such as Microsoft® Data Execution Prevention (DEP), Windows® Defender Exploit Guard (WDEG), or Apple® System Integrity Protection (SIP) and Gatekeeper™.
REFERENCES:
Oracle: https://www.oracle.com/security-alerts/cpuapr2024.html
submitted by Tycho_Jissard to k12cybersecurity [link] [comments]


2024.04.10 13:54 TechTalksWeekly All Python conference talks from 2023 ordered by the number of views

Hello python 👋! Back in January, I've compiled a list of the most watched PyCon talks from 2023. I've received tons of positive feedback via DM, upvotes, and comments, so I decided to put together another compilation.
This time around, I've gathered not only PyCon, but all Python 2023 talks across +100 conferences (here's the list) that include PyCon (all locations), PyData (all locations), EuroPython, Conf42, and many more to give you a complete overview of the landscape. The list is gigantic and includes over 850 talks!
What's more, I've created a Google Sheets version of this post that gives more convenient sorting and filtering options.
If it turns to be useful, don't forget to share the list with friends / colleagues!
  1. "Tutorials - Mario Munoz: Web Development With A Python-backed Frontend: Featuring HTMX and Tailwind"+12k views ⸱ 02h 26m 00s
  2. "Thomas Bierhance: Polars - make the switch to lightning-fast dataframes"+11k views ⸱ 00h 29m 49s
  3. "Mariatta Wijaya: Welcome to PyCon US 2023"+11k views ⸱ 00h 29m 29s
  4. "Scaling Python for Machine Learning: Beyond Data Parallelism • Holden Karau • GOTO 2023"+10k views ⸱ 00h 39m 19s
  5. "Tutorials - Matt Harrison: Getting Started with Polars"+10k views ⸱ 02h 14m 28s
  6. "Keynote Speaker - Ned Batchelder"+7k views ⸱ 00h 47m 02s
  7. "Gábor Szárnyas - DuckDB: The Power of a Data Warehouse in your Python Process"+7k views ⸱ 00h 55m 27s
  8. "Talks - Samuel Colvin: How Pydantic V2 leverages Rust's Superpowers"+6k views ⸱ 00h 45m 55s
  9. "Delta-rs, Apache Arrow, Polars, WASM: Is Rust the Future of Analytics?"+6k views ⸱ 00h 31m 03s
  10. "Tutorials - Simon Willison: Data analysis with SQLite and Python"+5k views ⸱ 02h 45m 54s
  11. "Talks - Hynek Schlawack: Subclassing, Composition, Python, and You"+5k views ⸱ 00h 45m 42s
  12. "Writing Python Bindings for C++ Libraries: Easy-to-use Performance - Saksham Sharma - CppCon 2023"+5k views ⸱ 01h 01m 30s
  13. "Pedro Holanda - DuckDB: Bringing analytical SQL directly to your Python shell"+5k views ⸱ 00h 29m 31s
  14. "Tutorials - Lisa Carpenter: How to create beautiful interactive GUIs and web apps"+5k views ⸱ 01h 58m 05s
  15. "Tutorials - Reuven M. Lerner: Comprehending comprehensions"+5k views ⸱ 02h 17m 33s
  16. "Keynote Speaker - Guido van Rossum"+5k views ⸱ 00h 30m 51s
  17. "PyData Heidelberg #11 - TimeSeries Forecasting & LLM Langchain"+4k views ⸱ 02h 39m 06s
  18. "Keynote Speaker - James Powell"+4k views ⸱ 00h 25m 43s
  19. "Use Spark from anywhere: A Spark client in Python powered by Spark Connect"+4k views ⸱ 00h 56m 58s
  20. "Cython 3 – Python at the speed of C — Stefan Behnel"+4k views ⸱ 00h 31m 15s
  21. "Patrick Blöbaum: Performing Root Cause Analysis with DoWhy, a Causal Machine-Learning Library"+4k views ⸱ 00h 44m 38s
  22. "Max Mergenthaler and Fede Garza - Quantifying Uncertainty in Time Series Forecasting"+4k views ⸱ 00h 37m 25s
  23. "Talks - Bruce Eckel: Rethinking Objects"+4k views ⸱ 00h 32m 06s
  24. "Rust for Python data engineers — Karim Jedda"+4k views ⸱ 00h 27m 30s
  25. "Matt Harrison - An Introduction to Pandas 2, Polars, and DuckDB PyData Global 2023"+4k views ⸱ 01h 22m 15s
  26. "Tutorials - Ted Patrick: Writing Serverless Python Web Apps with PyScript"+3k views ⸱ 02h 55m 29s
  27. "Tutorials - Trey Hunner: Intro to Python for Brand New Programmers"+3k views ⸱ 02h 16m 41s
  28. "Dr. Thomas Wiecki: Bayesian Marketing Science - Solving Marketing's 3 Biggest Problems"+3k views ⸱ 00h 30m 35s
  29. [**"Gaël Varoquaux: Prepping Tables for Machine Learning Gets Easier PyData Südwest]"**+3k views ⸱ 00h 57m 54s
  30. "Talks - Reuven M. Lerner: Generators, coroutines and nanoservices"+3k views ⸱ 00h 26m 28s
  31. "Talks - Brett Cannon: Python's syntactic sugar"+3k views ⸱ 00h 31m 11s
  32. "Bruno Vollmer: BLE and Python - How to build a simple BLE project on Linux with Python"+3k views ⸱ 00h 29m 40s
  33. "Vasileios Mourtakos - A data engineering framework in Python"+3k views ⸱ 00h 35m 55s
  34. "Talks - Eric Snow: A Per-Interpreter GIL: Concurrency and Parallelism with Subinterpreters"+3k views ⸱ 00h 30m 29s
  35. "Talks - Łukasz Langa: Working Around the GIL with asyncio"+2k views ⸱ 00h 44m 26s
  36. "Hajime Takeda - Media Mix Modeling:How to Measure the Effectiveness of Advertising"+2k views ⸱ 00h 30m 37s
  37. "Tutorials - Mike Müller: The How and Why of Object-oriented Programming in Python"+2k views ⸱ 02h 45m 34s
  38. "Shahriyar Rzayev: Building Hexagonal Python Services"+2k views ⸱ 01h 29m 50s
  39. "Performance tips by the FastAPI Expert — Marcelo Trylesinski"+2k views ⸱ 00h 24m 59s
  40. "Solving Multi-Objective Constrained Optimisation Problems using Pymoo — Pranjal Biyani"+2k views ⸱ 00h 44m 23s
  41. "Carsten Binnig: Towards Learned Database Systems"+2k views ⸱ 00h 43m 34s
  42. "Talks - Brandt Bucher: Inside CPython 3.11's new specializing, adaptive interpreter"+2k views ⸱ 00h 23m 01s
  43. "Carl Kadie - A Perfect, Infinite-Precision, Game Physics in Python PyData Seattle 2023"+2k views ⸱ 00h 36m 26s
  44. "From crontab to celery with no regrets by Marco Pavanelli"+2k views ⸱ 00h 32m 03s
  45. "Talks - Al Sweigart: An Overview of the Python Code Tool Landscape 2023"+2k views ⸱ 00h 26m 58s
  46. "Reinventing Machine Learning with Transformers and Hugging Face by Keynote speaker Julien Simon"+2k views ⸱ 01h 08m 52s
  47. "Empower your Spring Applications with Python Features on GraalVM by Johannes Link @ Spring I/O 2023"+2k views ⸱ 00h 53m 00s
  48. "Marysia Winkels - Data Storytelling through Visualization"+2k views ⸱ 00h 30m 57s
  49. "What polars does for you — Ritchie Vink"+2k views ⸱ 00h 27m 45s
  50. "Beyond Toy Datasets: Timeseries Forecasting for Real Business Problems - Robert Haase"+2k views ⸱ 00h 33m 55s
  51. "PyData Online - An AI assistant for football analytics - Petar Veličković (Google DeepMind)"+2k views ⸱ 01h 02m 40s
  52. "Talks - Mark Shannon: How we are making CPython faster. Past, present and future."+2k views ⸱ 00h 29m 11s
  53. "JIm Dowling - Build a production ML system with only Python on free serverless services"+2k views ⸱ 01h 22m 35s
  54. "Writing a Python interpreter from scratch, in half an hour — Tushar Sadhwani"+2k views ⸱ 00h 43m 38s
  55. "Dominika Basaj & Barbara Rychalska - Creating behavioral profiles of your customer"+2k views ⸱ 00h 26m 55s
  56. "Stephan Sahm: Accelerate Python with Julia"+2k views ⸱ 01h 27m 14s
  57. "Why Delta Lake is the Best Storage Format for Pandas Analyses"+2k views ⸱ 00h 28m 25s
  58. "Tutorials - Geir Arne Hjelle: Introduction to Decorators: Power Up Your Python Code"+2k views ⸱ 02h 21m 20s
  59. "Jeroen Overschie - How to create a Devcontainer for your Python project 🐳"+2k views ⸱ 00h 36m 01s
  60. "Wesley Boelrijk - Lowering the barrier for ML monitoring"+2k views ⸱ 00h 36m 53s
  61. "Talks - Dan Craig: Testing Spacecraft with Pytest"+2k views ⸱ 00h 30m 12s
  62. "Keynote Speaker - Margaret Mitchell"+2k views ⸱ 00h 42m 29s
  63. "Talks - Moshe Zadka: pyproject.toml, packaging, and you"+2k views ⸱ 00h 30m 06s
  64. "Tutorials - Juhi, Dana: Intro to Hugging Face: Fine-tuning BERT for NLP tasks"+2k views ⸱ 02h 09m 52s
  65. "Tutorials - Patrick Arminio: Build a production ready GraphQL API using Python"+2k views ⸱ 02h 23m 14s
  66. "Ryan Curtin - Lightweight, low-overhead, high-performance: machine learning directly in C++"+2k views ⸱ 00h 43m 10s
  67. "Python with Spark Connect"+2k views ⸱ 00h 33m 27s
  68. "David Qiu - Jupyter AI — Bringing Generative AI to Jupyter PyData Seattle 2023"+1k views ⸱ 00h 39m 29s
  69. "Polars: A highly optimized dataframe library Matt Harrison Conf42 Machine Learning 2023"+1k views ⸱ 00h 20m 31s
  70. "Nico Kreiling: Raised by Pandas, striving for more: An opinionated introduction to Polars"+1k views ⸱ 00h 29m 47s
  71. "Jiang et al. - Automated Machine Learning & Tuning with FLAML PyData Seattle 2023"+1k views ⸱ 01h 21m 54s
  72. "Alexander CS Hendorf: 5 Things about fastAPI I wish we had known beforehand"+1k views ⸱ 00h 32m 31s
  73. "Duarte Carmo - MLOps for the rest of us- A poor man's guide to putting models in production"+1k views ⸱ 00h 26m 04s
  74. [**"Ines Montani (spaCy) - Large Language Models from Prototype to Production PyData Südwest]"**+1k views ⸱ 00h 39m 55s
  75. "Robin Raymond: Rusty Python - A Case Study"+1k views ⸱ 00h 28m 47s
  76. "Tutorials - Leah Berg, Ray: Feature Engineering is for Everyone!"+1k views ⸱ 02h 16m 35s
  77. "Giles Weaver & Ian Ozsvald - Pandas 2, Dask or Polars? Tackling larger data on a single machine"+1k views ⸱ 00h 16m 22s
  78. "Talks - Glyph: How To Keep A Secret"+1k views ⸱ 00h 26m 19s
  79. "Maximilian M. - SHAPtivating Insights: unravelling blackbox AI models"+1k views ⸱ 00h 35m 02s
  80. "Vahan Huroyan - Recent Developments in Self-Supervised Learning for Computer Vision"+1k views ⸱ 00h 36m 25s
  81. "Lucas Durand - Building an Interactive Network Graph to Understand Communities PyData Seattle 2023"+1k views ⸱ 01h 26m 14s
  82. "Big PyData BBQ #5: LLMs feat. Ines Montani (spaCy) & Alejandro Saucedo (Zalando)"+1k views ⸱ 03h 48m 21s
  83. "Stop using print! Understanding and using the "logging" module — Reuven M. Lerner"+1k views ⸱ 00h 29m 32s
  84. "Joris Van den Bossche & Patrick Hoefler: Pandas 2.0 and beyond"+1k views ⸱ 00h 37m 07s
  85. "Structured output with large language models / Uri Goren (Argmax)"+1k views ⸱ 00h 25m 09s
  86. "PyData Chicago April 2023 Meetup Design and Analysis of (Backtest) Experiments with R and Python"+1k views ⸱ 00h 50m 19s
  87. "Sponsor Presentation - Python & Bloomberg: An Open Source Duo"+1k views ⸱ 00h 57m 08s
  88. "Soumith Chintala - Keynote: AI & the stuff built for AI - are they actually useful for data science?"+1k views ⸱ 00h 31m 54s
  89. "The Future of Microprocessors — Sophie Wilson"+1k views ⸱ 00h 56m 45s
  90. "Jia Yu - How Apache Sedona is Revolutionizing Geospatial Data Analysis PyData Seattle 2023"+1k views ⸱ 00h 46m 12s
  91. "Lightning Talks - April 21, 5pm"+1k views ⸱ 01h 04m 16s
  92. "How to Leverage the Full Potential of LLMs for Your Business with Langchain - Leon Ruddat"+1k views ⸱ 00h 34m 40s
  93. "Jay Chia & Sammy Sidhu: Daft - The Distributed Python Dataframe for Complex Data"+1k views ⸱ 00h 23m 01s
  94. "Talks - A. Jesse Jiryu Davis: Consistency and isolation for Python programmers"+1k views ⸱ 00h 24m 23s
  95. ""Python deployment with Docker and Poetry" - Cristian Heredia (PyBay 2023)"+1k views ⸱ 00h 12m 24s
  96. "Peterson & Qin - Contextual Multi-Arm Bandit and its applications to digital experiments PyData"+1k views ⸱ 00h 44m 54s
  97. "Tutorials - Ron Nathaniel: How To Troubleshoot and Monitor Applications using OpenTelemetry"+1k views ⸱ 02h 01m 57s
  98. "Keynote Speaker - Python Steering Council"+1k views ⸱ 00h 20m 42s
  99. "An unbiased evaluation of environment management and packaging tools — Anna-Lena Popkes"+1k views ⸱ 00h 43m 14s
  100. "Vincent Gosselin - Turning your Data/AI algorithms into full web apps in no time with Taipy"+1k views ⸱ 00h 38m 18s
  101. "Malte Tichy - Knowing what you don’t know matters- Uncertainty-aware model rating"+1k views ⸱ 00h 30m 05s
  102. "Talks - Andrew Godwin: Reconciling Everything"+1k views ⸱ 00h 30m 16s
  103. "Vincent Warmerdam - Bulk Labelling Techniques"+1k views ⸱ 00h 32m 55s
  104. "Hugo Bowne-Anderson - Full-stack Machine Learning and Generative AI for Data Scientists"+1k views ⸱ 01h 28m 30s
  105. "J.J. Allaire - Keynote: Dashboards with Jupyter and Quarto PyData NYC 2023"+1k views ⸱ 00h 40m 15s
  106. "Alejandro Saucedo - Industrial Strength DALLE-E:Scaling Complex Large Text & Image Models"+1k views ⸱ 00h 28m 07s
  107. "Subclassing, Composition, Python, and You — Hynek Schlawack"+1k views ⸱ 00h 44m 59s
  108. "Tutorials -Zac Hatfield-Dodds, Ryan Soklaski: Introduction to Property-Based Testing"+1k views ⸱ 01h 31m 20s
  109. [**"Furkan M. Torun - Become a Data Storyteller with Streamlit! PyData Prague 2023-11-20]"**+1k views ⸱ 00h 23m 26s
  110. "Anna-Lena Popkes: An unbiased evaluation of environment management and packaging tools"+1k views ⸱ 00h 43m 53s
  111. "PyData Chicago March 2023 Meetup Monte Carlo with QMCPy for Vector Functions of Integrals"+1k views ⸱ 00h 46m 35s
  112. "James Powell - Simple Simulators with pandas and Generator Coroutines PyData NYC 2023"+1k views ⸱ 01h 21m 43s
  113. "Polars is the Pandas killer / Igor Mintz (Viz.ai)"+1k views ⸱ 00h 21m 46s
  114. "Diving into Event-Driven Architectures with Python — Marc-André Lemburg"+1k views ⸱ 00h 30m 59s
  115. "Using Embeddings and Deep Neural Networks as a technique for AutoML Demand Forecasting PyData SW"+1k views ⸱ 00h 36m 06s
  116. "Leland McInnes - Data Mapping for Data Exploration PyData Seattle 2023"+1k views ⸱ 00h 38m 16s
  117. "Eduardo Blancas - Using embedded SQL engines for plotting massive datasets on a laptop"+1k views ⸱ 00h 27m 00s
  118. "Large Language Models: From Prototype to Production — Ines Montani"+1k views ⸱ 00h 40m 20s
  119. "Tutorials - Pavithra Eswaramoorthy, Dharhas Pothina: Data of Unusual Size: Interactive Visualization"+1k views ⸱ 03h 06m 45s
  120. "Moritz Meister - Data Validation for Feature pipelines: Using Great Expectations and Hopsworks"+1k views ⸱ 00h 27m 40s
  121. "Inge van den Ende-Leveraging conformal prediction for calibrated probabilistic time series forecasts"+1k views ⸱ 00h 31m 33s
  122. "Nick Sorros - A Tour of Large Language Models"+1k views ⸱ 00h 46m 38s
  123. "Thomas Frauholz: From notebook to pipeline in no time with LineaPy"+1k views ⸱ 00h 43m 17s
  124. "EuroPython 2023 Opening Session"+1k views ⸱ 00h 20m 58s
  125. "Optimizing Ad Conversions with DS / Yael Kiselman (DigitalTurbine)"+1k views ⸱ 00h 51m 44s
  126. "Harizo Rajaona - A Tour of the Many DataFrame Frameworks"+1k views ⸱ 00h 34m 59s
  127. "Andrei Alekseev - Why does everyone need to develop a machine learning package?"+1k views ⸱ 00h 28m 07s
  128. "Ties de Kok - Going beyond ChatGPT: introduction to prompt engineering & LLMs PyData Seattle 2023"+1k views ⸱ 00h 59m 56s
  129. "PyData Boston Sept session 1: Mike Woodward - Data sci done wrong: how/why scientists make mistakes."+1k views ⸱ 00h 27m 14s
  130. "Joe Cheng - Shiny: Data-centric web applications in Python PyData Seattle 2023"+1k views ⸱ 00h 43m 56s
  131. "Tutorials - Cheuk Ting Ho: Power up your work with compiling and profiling"+1k views ⸱ 01h 33m 02s
  132. "Talks -Algorithmic ideas, engineering tricks, and trivia behind CPython's new sorting algorithm"+1k views ⸱ 00h 29m 39s
  133. "Talks - Dawn Wages: Supercharge your Python Development Environment with VS Code + Dev Container"+1k views ⸱ 00h 31m 01s
  134. "Egor Romanov - Performance of Vector Databases"+1k views ⸱ 00h 43m 09s
  135. "Alexander CS Hendorf - Ten Years of Community Organizer PyData NYC 2023"+1k views ⸱ 00h 42m 41s
  136. "Talks - Nicholas H.Tollervey, Paul Everitt: Build Yourself a PyScript"+1k views ⸱ 00h 39m 28s
  137. "Emil Rijcken - FuzzyTM: a Python package for fuzzy topic models"+1k views ⸱ 00h 28m 12s
  138. "Nikolas Markou - Artificial Intelligence for Vision: A walkthrough of recent breakthroughs"+1k views ⸱ 00h 42m 10s
  139. "Would Rust make you a better Pythonista? — Alexys Jacob"+1k views ⸱ 00h 47m 23s
  140. "Simon Pressler: Getting started with JAX"+1k views ⸱ 00h 29m 49s
  141. "Sponsor Presentation - How to build stunning Data Science Web applications in Python"+1k views ⸱ 00h 54m 10s
  142. "Pavel Pleskov - All about ML competitions!"+1k views ⸱ 01h 03m 13s
  143. "Laszlo Sragner - Code Smells in Data Science: What can we do about them? PyData London 2023"+1k views ⸱ 00h 39m 19s
  144. "Talks - Jodie Burchell: Vectorize using linear algebra and NumPy to make your Python code fast"+1k views ⸱ 00h 28m 32s
  145. "Comparing Elixir and Python when working with Simple Neural Networks - A. Neto & L. C. Tavano"+1k views ⸱ 00h 38m 11s
  146. "Talks - Valerio Maggio: Pythonic functional (iter)tools for your data challenges" ⸱ +1k views ⸱ 00h 32m 38s
  147. "Topaz Gilad - Classification Through Regression:Unlock the True Potential of Your Labels"+1k views ⸱ 00h 28m 13s
  148. "Running Python packages in the browser with Pyodide — Roman Yurchak"+1k views ⸱ 00h 27m 49s
  149. "J.J. Allaire - Publishing Jupyter Notebooks with Quarto PyData Seattle 2023"+1k views ⸱ 00h 40m 47s
  150. "ipyvizzu-story- a open-source tool to build create+share animated data stories w/ python in jupyter"+1k views ⸱ 01h 25m 54s
  151. Due to Reddit post length limit, see the remaining talks in this post or google sheet.
submitted by TechTalksWeekly to Python [link] [comments]


2024.04.02 15:01 monishadinesh04 The Future of Java: What to Expect in the Coming Years

Introduction:
Java, an evergreen cornerstone of software development, has provided power for numerous apps and web projects over its 30-plus-year existence. But with rapid technological innovations transforming its future prospects are increasingly uncertain. Java coaching centre in Chennai, aimed at nurturing the next generation of Java developers, plays a crucial role in ensuring its relevance and adaptation to evolving trends and advancements. Here, we discuss trends and advancements expected to influence it over time.
Trends Driving the Future of Java:
  1. Cloud-Native Development:
As cloud computing gains traction, Java developers are becoming drawn to creating applications that run natively in the cloud. To do this, they are increasingly using technologies like Kubernetes and Docker. These tools empower Java apps with scalability, resilience, and flexibility when deployed in cloud environments.
  1. Microservices Architecture:
Java is widely used for microservices architecture, where companies prefer systems that are easier to change, grow, and keep up. Java frameworks like Spring Boot and Quarkus make it possible for developers to quickly build apps based on microservices.
  1. Machine Learning and AI Integration:
Java is rapidly emerging as a leader in machine learning and artificial intelligence (AI). Tools like Deeplearning4j (a library) and Apache Spark (a framework) allow Java programmers to incorporate AI into their applications for cutting-edge advancements.
  1. Native Compilation:
The rise of native compilation technologies such as GraalVM is transforming the world of Java programming. These technologies optimize performance, lower resource usage, and facilitate seamless execution of Java applications in cloud environments by compiling Java code into native machine code.
  1. Modularization with Project Jigsaw:
Project Jigsaw, introduced with Java 9, seeks to make the Java platform more adaptable, manageable, and safe by breaking it up into smaller, manageable pieces. As modularization increases within an ecosystem, Java programmers will enjoy better control of their dependencies as well as enhanced data protection measures as they fine tune their code performance for improved efficiency.
Conclusion:
As such, Java's future looks promising and full of promise, driven by technological progress and changing industry needs. With the continuous advancement of Java technology, developers can anticipate improved support for cloud-native development, microservices architecture, machine learning integration and AI integration. Furthermore, with projects such as Project Jigsaw and native compilation adapting to contemporary software development requirements; Java stands as an innovator destined to continue making an impactful statement into its next decade and beyond. As we look towards its long-term significance and flexibility it will continue to shape software development for years and will influence its influence upon software industry development over the time of its evolution.
submitted by monishadinesh04 to u/monishadinesh04 [link] [comments]


2024.03.31 14:05 shubham0204_dev Project: Full Text Search On Local Files With Inverted Index

Motivation

I was writing a Math paper for my mummy's students, and we felt the need to add more questions from previous exam papers that we had created. I had kept them in a directory where the name of each file (a MS Word document) contained the date on which the test was taken. To search for questions belonging to a specific topic, for instance quadratic equations, I had to randomly open any of the files and see it had questions on the topic. If the topics would have separate files or if they were mentioned in the file name, the search would have been a lot easier. I quickly thought of a tool that could solve this problem, and search the contents of the file, and knowing little about Elasticsearch and Apache Lucene, I knew that I needed a full-text-search tool.

Implementation

Project: https://github.com/shubham0204/full-text-search
I would like the Reddit community to review the project and provide suggestions on improving the project, code or the tools used. Here are some points on which I worked:
  1. Use GraalVM to produce native executables for the fulltextsearch tool
  2. Explored RoaringBitmap which is a compressed bitset format used in achieving smaller Set which I've been using to store document indices in the inverted index. I read some threads, but couldn't make out its exact use and superiority to HashSet.
  3. How do we achieve more granular search results? Currently, the tool only shows filenames where the tokens in the query were found. How do we pin-point the exact portion of the text where the token is found within the document?
  4. Explored the concepts of FatJaUberJar and adjusting heap sizes with JVM options for a less memory-bloated Java application.

Why Java?

I've am an Android developer since 2017 and started with Java + XML, eventually shifting to Kotlin in 2019. I recently discovered apple/pkl which is written mostly in Java, and also realized the scale at which the framework Spring is being used in modern enterprises. These incidents, along with my current internship project, sparked the need to build in Java once again.
submitted by shubham0204_dev to learnjava [link] [comments]


2024.03.24 16:15 schaka Janitorr v1.2 - now with support for Jellystat and GraalVM native images

I posted here last week to finally introduce Janitorr hitting version 1.0 and received a lot of positive feedback.
At the time, support for Emby had just been added and I had implemented user requests for tag-based media deletion as well as disk space thresholds.
However, the most requested feature that people said would finally turn Janitorr useful to them is having support for viewing stats. So I went to work and implemented optional support for JellyStat.
Now, if JellyStat is enabled, file age gets overwritten with the last active view (via JellyStat API) that was longer than 60 seconds. The idea is to make viewing duration a user chosen option eventually.
Additionally, I moved away from strictly JVM requiring code and implemented a GraalVM native image into the build pipeline. Both images are still made available. At idle, the application now consumes around 50MB of RAM and and less than 1% of CPU resources on an older quad core. This was needed to run it with minimal overheard on seedboxes and other weaker, smaller servers.
Why delete in the first place?
I personally have some servers with smaller storage not in my home. They are limited and won't be upgraded, but my users can still request as much media as they want. Half of it sits around unused and I don't want to manually maintain it for them.
To recap what Janitorr brings to the table:
submitted by schaka to selfhosted [link] [comments]


2024.03.24 03:03 tison1096 GraalVM Native Image Sucks; I Rewrite It in Rust

See the other thread on my X (@tisonkuncz, I don't know, seems attaching the link get moderated) how I get frustrated with GraalVM's Native Image especially when combining it with JNI(rs) and Docker Image. Toolchain sucks. Maybe even a slim JRE made better.
So, why not just rewrite it in Rust and get rid of all these things?
https://github.com/korandoru/hawkeye/discussions/117
Rust's ownership and mutability support helps me a lot to change 3399 LoC Java into 1445 LoC Rust. Also the "ignore" and "git2" crate helps a lot for what I was struggling implement in Java (or try with jni-rs and hit the "Rust toolchain x GraalVM Native Image x Docker Image" hell).
It's notable that I release the Docker image in Alpine. While I first made a ~30MB image with distroless and NativeImage, it grows to about ~50MB finally. I still need alpine because "git config --global --add safe.directory" is yet to workaround (using "ignore" crate instead of "git2" can have some pitfalls).
And it's an interesting journey how you can ship a crate depending on libc to alpine (musl).
I'm somewhat rushing in this rewrite so there is still a lot of rooms to improve the experience, performance, and code style. But I'm confident that the most frequent user journey is held and works well.
Enjoy :D
cargo install hawkeye 
or
- name: Check License Header uses: korandoru/hawkeye@v5 
submitted by tison1096 to rust [link] [comments]


2024.03.20 20:37 koskieer Logging framework/library suggestion

Hello,
I'm looking for simple logging framework/library to use with GraalVM. Prefering library which i can easily to configure output by using code instead of configuration files. If there are similar library than Go's Zerolog I'm eager to hear about it.
Any suggestions?
submitted by koskieer to javahelp [link] [comments]


2024.02.25 18:39 ALFANQUIT I've been getting this for about 4 hours now... does anyone know the issue? it's only like this when I'm using my graal code.

I've been getting this for about 4 hours now... does anyone know the issue? it's only like this when I'm using my graal code. submitted by ALFANQUIT to GraalOnline [link] [comments]


2024.02.21 16:15 TechTalksWeekly All Java conference talks from 2023 ordered by the number of views

Hi /java! I'm building a newsletter called Tech Talks Weekly where once a week I send out all the recently uploaded tech conference talks across engineering conferences (see a recent issue and subscribe if this sounds useful).
As a part of my venture, I've put together a list of all Java talks from 2023 conferences ordered by the number of views for your convenience. The talks are coming from conferences like Devoxx, GOTO, Sprint I/O, WASM I/O, NDC, GeeCON and more.
The list is huge and contains +230 talks as 2023 has been a really productive year in Java community. We had lots of exciting updates including the new LTS release (Java 21) bringing massive improvements like virtual threads or pattern matching to name a few.
Without further ado, here's the list:
  1. "Asynchronous Programming in Java: Options to Choose from By Venkat Subramaniam"+27k views ⸱ 02h 39m 22s
  2. "Anatomy of a Spring Boot App with Clean Architecture by Steve Pember @ Spring I/O 2023"+25k views ⸱ 00h 49m 53s
  3. "Java in the Cloud with GraalVM • Alina Yurenko • GOTO 2023"+25k views ⸱ 00h 42m 01s
  4. "Structured Concurrency in Java: The What & Why • Balkrishna Rawool • GOTO 2023"+23k views ⸱ 00h 41m 00s
  5. "Spring I/O 2023 - Keynote"+23k views ⸱ 01h 04m 38s
  6. "Bootiful Spring Boot 3 by Josh Long"+23k views ⸱ 00h 42m 09s
  7. "Know your Java? By Venkat Subramaniam"+21k views ⸱ 02h 39m 20s
  8. "Bootiful Spring Boot 3 by Josh Long @ Spring I/O 2023"+21k views ⸱ 00h 49m 44s
  9. "Bootiful Spring Boot 3 x by Josh Long"+20k views ⸱ 00h 44m 32s
  10. "Java 21 By Brian Goetz"+19k views ⸱ 00h 48m 25s
  11. "Next-Generation Cloud Native Apps with Spring Boot 3 • Thomas Vitale • GOTO 2023"+14k views ⸱ 00h 46m 09s
  12. "Java Language update By Brian Goetz"+13k views ⸱ 01h 02m 04s
  13. "Going Native: Fast and Lightweight Spring Boot Applications with GraalVM by Alina Yurenko"+12k views ⸱ 00h 47m 22s
  14. "Do you really need Hibernate by Simon Martinelli @ Spring I/O 2023"+11k views ⸱ 00h 54m 27s
  15. "Observability of Your Application by Marcin Grzejszczak & Tommy Ludwig @ Spring I/O 2023"+10k views ⸱ 00h 47m 31s
  16. "Things I Wish I Knew When I Started Testing Spring Boot Applications by Philip Riecks @ Spring I/O"+10k views ⸱ 00h 33m 09s
  17. "Building Optimized Java Microservices with Micronaut 4 & GraalVM • Graeme Rocher • GOTO 2023"+10k views ⸱ 00h 49m 22s
  18. "Spring Modulith – Spring for the Architecturally Curious Developer by Oliver Drotbohm"+10k views ⸱ 00h 49m 48s
  19. "Enterprise Security with Spring Authorization Server 1.0 by Rob Winch @ Spring I/O"+9k views ⸱ 00h 51m 24s
  20. "Multitenant Mystery Only Rockers in the Building by Thomas Vitale @ Spring I/O 2023"+9k views ⸱ 00h 50m 39s
  21. "Bootiful Spring Boot 3 By Josh Long"+8k views ⸱ 00h 50m 41s
  22. "With Java 21, Your Code Runs Even Faster But How is that Possible? By Per Minborg"+8k views ⸱ 00h 32m 06s
  23. "Everything new in Spring Security 6 baked with a Spring Boot 3 recipe by Laur Spilca @ Spring I/O"+8k views ⸱ 00h 50m 57s
  24. "Action Jackson! Effective JSON processing in Spring Boot Applications by Joris Kuipers @ Spring I/O"+8k views ⸱ 00h 46m 33s
  25. "Preparing web applications for Loom by Mark Thomas @ Spring I/O 2023"+7k views ⸱ 00h 35m 32s
  26. "Spring Framework 6: Strategic Themes By Juergen Hoeller, Sébastien Deleuze"+7k views ⸱ 00h 49m 53s
  27. "Battle of the frameworks : Quarkus vs SpringBoot by Giorgos Andrianakis & Christos Sotiriou"+7k views ⸱ 00h 39m 49s
  28. "Know your Java? by Venkat Subramaniam"+7k views ⸱ 00h 37m 41s
  29. "Spring Security: The Good Parts by Daniel Garnier-Moiroux"+7k views ⸱ 00h 45m 09s
  30. "To Java 21 and Beyond! by Billy Korando @ Spring I/O 2023"+6k views ⸱ 00h 51m 48s
  31. "Java Meets AI: A Hands On Guide to Building LLM Powered Applications with LangChain4j By Lize Raes"+6k views ⸱ 00h 50m 48s
  32. "Introduction and pitfalls of Java's new concurrency model by David Vlijmincx"+6k views ⸱ 00h 38m 12s
  33. "[VDIASI23] - Ana-Maria Mihălceanu - A Glance At The Java Performance Toolbox"+6k views ⸱ 00h 44m 00s
  34. "Debugging applications with IntelliJ IDEA by Anton Arhipov @ Spring I/O 2023"+6k views ⸱ 00h 45m 24s
  35. "Spring Framework 6.1: Infrastructure Revisited by Juergen Hoeller @ Spring I/O 2023"+5k views ⸱ 00h 49m 53s
  36. "A Java 8 lambda is all you need for distributed background jobs! by Ronald Dehuysser"+5k views ⸱ 00h 44m 25s
  37. "Data Oriented Programming in Java 21 by Nicolai Parlog"+5k views ⸱ 00h 48m 28s
  38. "Developer Experience with Spring Boot on Kubernetes by Thomas Vitale @ Spring I/O 2023"+5k views ⸱ 00h 38m 35s
  39. "Taming performance issues into the wild: a practical guide to JVM profiling By Francesco Nigro, Mari"+5k views ⸱ 02h 39m 23s
  40. "Java 21 💣💥 By Nicolai Parlog"+4k views ⸱ 02h 36m 56s
  41. "Project Loom: Modern Scalable Concurrency for the Java Platform By Alan Bateman"+4k views ⸱ 00h 51m 12s
  42. "Java at AWS: Lessons Learned from Upgrading and Modernizing a Massive JVM Codebase By Yishai Galat"+4k views ⸱ 00h 55m 45s
  43. "REST next level: Crafting domain-driven web APIs by Julien Topçu @ Spring I/O 2023"+4k views ⸱ 00h 51m 26s
  44. "Build resilient systems with Spring Cloud Contract and Testcontainers by Olga & Oleg @ Spring I/O 23"+4k views ⸱ 00h 51m 35s
  45. ""A JVM threading model for the containerized times" by Luiz Hespanha and Flavio Brasil"+4k views ⸱ 00h 30m 43s
  46. "[VDBUH2023] - Nicolai Parlog - Data-Oriented Programming in Java (20)"+4k views ⸱ 00h 51m 47s
  47. "Dynamic OpenAPIs with Spring Cloud Gateway by Iván López @ Spring I/O 2023"+4k views ⸱ 00h 47m 37s
  48. "Vector Similarity Search in Spring with Redis Stack by Brian Sam-Bodden @ Spring I/O 2023"+4k views ⸱ 00h 54m 36s
  49. "Ask the Java Architects By Sharat Chander, Alan Bateman, Stuart Marks, Viktor Klang, Brian Goetz"+4k views ⸱ 00h 50m 37s
  50. "Let's make a contract: the art of designing a Java API by Mario Fusco"+3k views ⸱ 00h 39m 27s
  51. "Unit Test Your Java Architecture With ArchUnit by Roland Weisleder"+3k views ⸱ 00h 43m 08s
  52. "Java Renaissance • Georges Saab • YOW! 2023"+3k views ⸱ 00h 46m 37s
  53. "From k9s to OpenTelemetry:A guide to observability for your Spring apps in K8s by Matthias Haeussler"+3k views ⸱ 00h 48m 05s
  54. "Java Patterns and Practices for Serverless Applications By Adam Bien"+3k views ⸱ 00h 56m 56s
  55. "Spring Boot ❤️ Testcontainers by Iván López"+3k views ⸱ 00h 45m 18s
  56. "Building Spring Boot based modular libraries for 120 teams our findings by Jacek & Fabio"+3k views ⸱ 00h 50m 19s
  57. "Sailing Modern Java by Piotr Przybyl"+3k views ⸱ 00h 46m 45s
  58. "[VDCLUJ2023] Elias Nogueira - Modern Testing Tools for Java Developers"+3k views ⸱ 00h 56m 57s
  59. "What's new in Spring Batch 5 by Mahmoud Ben Hassine @ Spring I/O 2023"+3k views ⸱ 00h 47m 17s
  60. "Tips, tricks and gotchas when writing unit tests with Mockito by Jesse Kershaw"+2k views ⸱ 00h 16m 09s
  61. "Let's make a contract: the art of designing a Java API by Mario Fusco"+2k views ⸱ 00h 47m 17s
  62. "Building and Deploying Java Client Desktop Applications With JDK 21 and Beyond By Kevin Rushforth"+2k views ⸱ 00h 40m 49s
  63. "The Panama Dojo: Black Belt Programming with Java 21 and the FFM API By Per Minborg"+2k views ⸱ 00h 52m 06s
  64. "Architecturally evident Spring applications with jMolecules by Oliver Drotbohm @ Spring I/O 2023"+2k views ⸱ 00h 50m 10s
  65. "Java Next - From Amber to Loom, from Panama to Valhalla by Nicolai Parlog"+2k views ⸱ 00h 46m 30s
  66. "Java 8 (and 9!) in Anger • Trisha Gee • YOW! 2016"+2k views ⸱ 00h 49m 02s
  67. "All your APIs are mine - Secure them now by Andreas Falk @ Spring I/O 2023"+2k views ⸱ 00h 44m 25s
  68. "Spring Boot in a Polyglot Cloud-Native World with Dapr by Mauricio Salatino @ Spring I/O 2023"+2k views ⸱ 00h 51m 23s
  69. "Deep diving in Spring Security with the latest trends and additions By Laur Spilca"+2k views ⸱ 02h 32m 51s
  70. "Spring Infrastructure Deep Dive: Virtual Threads, Checkpoint Restore, Native Images By Juergen Hoell"+2k views ⸱ 02h 32m 14s
  71. "From Spring Boot 2 to Spring Boot 3 with Java 21 and Jakarta EE By Ivar Grimstad"+2k views ⸱ 00h 42m 29s
  72. "Develop and test your AWS-powered Spring Boot application locally by Anca Ghenade @ Spring I/O 2023"+2k views ⸱ 00h 47m 36s
  73. "Functional Programming in Spring with Arrow, Lenses & Effects • Jacob Bass • YOW! 2019"+2k views ⸱ 00h 28m 32s
  74. "Lean Spring Boot Applications for The Cloud by Patrick Baumgartner"+2k views ⸱ 00h 46m 16s
  75. "Effectively running Java applications on AWS By Maximilian Schellhorn, Dennis Kieselhorst"+2k views ⸱ 02h 51m 20s
  76. "Empower your Spring Applications with Python Features on GraalVM by Johannes Link @ Spring I/O 2023"+2k views ⸱ 00h 53m 00s
  77. "Beyond routing 🚀 Spring Cloud Gateway with style by Abel Salgado & Marta Medio @ Spring I/O 2023"+2k views ⸱ 00h 44m 56s
  78. "The Art of Java Language Pattern Matching by Simon Ritter"+2k views ⸱ 00h 41m 34s
  79. "JavaFX Notebook By Kevin Rushforth"+2k views ⸱ 00h 49m 55s
  80. "Observing Spring for GraphQL in Action by Brian Clozel & Rossen Stoyanchev @ Spring I/O 2023"+2k views ⸱ 00h 49m 49s
  81. "Building Lean Spring Boot Applications for the Cloud by Patrick Baumgartner"+2k views ⸱ 00h 40m 43s
  82. "Bootiful AOT with Spring Boot 3 By Josh Long, Alina Yurenko"+2k views ⸱ 02h 46m 22s
  83. "Implementing passwordless logins using Passkey, WebAuthn protocols and spring authorization server"+1k views ⸱ 02h 43m 16s
  84. "Bootiful Spring Boot 3 Josh Long Devoxx Ukraine 2023"+1k views ⸱ 00h 38m 00s
  85. "Spring is bootiful but so is your domain by Michael Plöd @ Spring I/O 2023"+1k views ⸱ 00h 47m 52s
  86. "Java 21 and Beyond: A Roadmap of Innovations by Ana-Maria Mihalceanu"+1k views ⸱ 00h 45m 15s
  87. "The Java Cloud-Native Stack for Microservices and Serverless Architecture by Markus Kett"+1k views ⸱ 00h 45m 44s
  88. "Dockerfiles, Buildpacks, Jib and more what's the best way to run your Java code in Containers?"+1k views ⸱ 00h 31m 29s
  89. "Awesome Java applications with GraalVM and Java microservices frameworks by Аlina Yurenko"+1k views ⸱ 00h 38m 35s
  90. "Spring Modulith – Spring for the Architecturally Curious Developer by Oliver Drotbohm"+1k views ⸱ 00h 47m 52s
  91. "Who needs Hibernate when there is SQL? By Simon Martinelli"+1k views ⸱ 02h 31m 00s
  92. "Serverless Java with Spring Boot"+1k views ⸱ 00h 51m 25s
  93. "Java 11 to 21 Evolution! Mohamed Taman Devoxx Ukraine 2023"+1k views ⸱ 01h 02m 10s
  94. "Write your own Java Profiler in 240 lines of pure Java By Johannes Bechberger"+1k views ⸱ 00h 45m 56s
  95. "Remake of Spring The Builder Powered by AI Evgeny Borisov Devoxx Ukraine 2023"+1k views ⸱ 01h 51m 03s
  96. "Keeping Your Java Hot by Solving the JVM Warmup Problem"+1k views ⸱ 01h 02m 30s
  97. "How sand and Java are used to create the world’s most powerful chips By Johan Janssen"+1k views ⸱ 00h 48m 54s
  98. "Introduction and pitfalls of Java's new concurrency model - David Vlijmincx"+1k views ⸱ 00h 37m 41s
  99. "Securing the Supply Chain for Your Java Applications By Thomas Vitale"+1k views ⸱ 00h 51m 29s
  100. "Welcome to the Jungle - A safari through the JVM landscape by Gerrit Grunwald"+1k views ⸱ 00h 38m 47s
  101. "Testing with Spring, AOT, GraalVM, and JUnit 5 by Sam Brannen @ Spring I/O 2023"+1k views ⸱ 00h 43m 41s
  102. "Progressive Delivery in the Kubernetes era by Alex Soto @ Spring I/O 2023"+1k views ⸱ 00h 41m 26s
  103. "Generative AI in practice: Concrete LLM use cases in Java, with the PaLM API By Guillaume Laforge"+1k views ⸱ 00h 51m 57s
  104. "Speed up writing tests with Wiremock Spring Boot By Pieter Jan Drouillon"+1k views ⸱ 00h 28m 17s
  105. "Managing Spring Boot Application Secrets by Badr NASS LAHSEN @ Spring I/O 2023"+1k views ⸱ 00h 52m 28s
  106. "Bootiful workload orchestration with Hashicorp Nomad by Martin Ahrer @ Spring I/O 2023"+1k views ⸱ 00h 52m 53s
  107. "Everything new in Spring Security 6 baked with a Spring Boot 3 recipe By Laur Spilca"+1k views ⸱ 00h 50m 26s
  108. "Securing the Service to Service Call Chain Patterns and Protocols by Adib Saikali @ Spring I/O 2023"+1k views ⸱ 00h 43m 29s
  109. "Why Spring Belongs In Your Data Stream (From Edge to Multi Cloud) by Fabrizio Marini @ Spring I/O 23"+1k views ⸱ 00h 44m 45s
  110. "The JVM vs WebAssembly: An In Depth Comparative Analysis By Shivansh Vij"+1k views ⸱ 01h 33m 05s
  111. "Introducing Spring AI"+1k views ⸱ 01h 06m 39s
  112. "Kotlin for Fun for Spring Fans by Shinya Yanagihara @ Spring I/O 2023"+1k views ⸱ 00h 42m 40s
  113. "Algebraic Data Types + Pattern Matching = Elegant and readable Java code By Balkrishna Rawool"+1k views ⸱ 00h 43m 57s
  114. "Voxxed Days Thessaloniki 2023 - Async Showdown: Java Virtual Threads vs. Kotlin Coroutines"+1k views ⸱ 00h 43m 56s
  115. "Java 21 Unveiled: A Quick Tour of What's New by Alberto Cortina Eduarte"+1k views ⸱ 00h 14m 43s
  116. "AWS Lambda SnapStart: Dramatically reduce cold starts for your Java functions by Melina & Kevin"+1k views ⸱ 00h 40m 21s
  117. "Moving Java Forward Together By Sharat Chander"+1k views ⸱ 00h 35m 20s
  118. "The Aggregate is dead. Long live the Aggregate! by Sara Pellegrini & Milan Savic @ Spring I/O 2023"+1k views ⸱ 00h 47m 13s
  119. "Java, Code Coverage & Their Best Friend: Bytecode • Evgeny Mandrikov • YOW! 2023"+1k views ⸱ 00h 45m 58s
  120. "Bootiful Spring Boot 3.x by Josh Long"+1k views ⸱ 00h 50m 39s
  121. "Do you really need Hibernate? By Simon Martinelli"+1k views ⸱ 00h 54m 22s
  122. "A Java lambda is all you need for distributed background jobs! By Ronald Dehuysser"+1k views ⸱ 00h 31m 17s
  123. "[VDIASI23] - Rustam Mehmandarov & Mads Opheim - Modern Java App Development in the Cloud"+1k views ⸱ 00h 41m 46s
  124. "ML in Java, YES it's possible! By Mohammed Aboullaite"+1k views ⸱ 00h 31m 12s
  125. "[VDBUH2023] - Johan Janssen - Why and How to Upgrade to Java 17 (and Prepare for 21)"+1k views ⸱ 00h 44m 52s
  126. "[VDBUH2023] Ana-Maria Mihălceanu & Nicolai Parlog - Keynote: The SolutionFactory To Java's Problems"+1k views ⸱ 00h 50m 28s
  127. "Scale your @Controller to zero with AWS Lambda or Azure Function by Oleg Zhurakousky @ Spring I/O"+1k views ⸱ 00h 46m 57s
  128. "Automating away bugs with Error Prone in practice by Rick Ossendrijver @ Spring I/O 2023"+1k views ⸱ 00h 44m 49s
  129. "Test-Driven Security with Spring 6 by Eleftheria Stein-Kousathana"+1k views ⸱ 00h 39m 32s
  130. "A Glance At The Java Performance Toolbox by Ana Maria Mihalceanu"+1k views ⸱ 00h 40m 17s
  131. "[VDCLUJ2023] Rustam Mehmandarov & Mads Opheim - Modern Java App Development in the Cloud"+1k views ⸱ 00h 45m 52s
  132. "Beam Me Up, Java! Unraveling the Warp-Speed Evolution: A Journey through Java Jonathan Vila (EN)"+1k views ⸱ 00h 46m 47s
  133. "The Art of Java Language Pattern Matching Simon Ritter Devoxx Ukraine 2023"+1k views ⸱ 00h 56m 07s
  134. "The Easy Way to Run and Scale Spring Apps on Cloud by Sean Li & Adib Saikali @ Spring I/O 2023"+1k views ⸱ 00h 54m 39s
  135. "A Glance At The Java Performance Toolbox By Ana Maria Mihalceanu"+1k views ⸱ 00h 43m 04s
  136. "Say the Words: Modern Java with JavaFX and GraalVM for Rich Client UIs By Paul & Gail Anderson"+900 views ⸱ 00h 51m 41s
  137. "From Spring Native to Spring Boot 3 by Moritz Halbritter & Sébastien Deleuze @ Spring I/O 2023"+900 views ⸱ 01h 00m 31s
  138. "Java Observability with OpenTelemetry By Andrzej Kubik"+900 views ⸱ 00h 50m 49s
  139. "Java Meets AI: How to build LLM-Powered Applications with LangChain4j by Lize Raes"+800 views ⸱ 00h 46m 41s
  140. "Devnexus 2023 - Spring Modulith: What the What? - Felipe Gutierrez, Glenn Renfro"+800 views ⸱ 00h 48m 14s
  141. "A hitchhikers guide to observe Java applications in Kubernetes By Tiffany Jernigan, Matthias Haeussl"+800 views ⸱ 02h 44m 35s
  142. "Keeping Your Java Hot by Solving the JVM Warmup Problem By Simon Ritter"+800 views ⸱ 00h 45m 45s
  143. "Java is Agile by Venkat Subramaniam"+800 views ⸱ 00h 45m 14s
  144. "A Glance At The Java Performance Toolbox Ana-Maria Mihalceanu Devoxx Ukraine 2023"+800 views ⸱ 00h 42m 57s
  145. "Mastering GC: tame the beast and make it your best ally by Jean-Philippe Bempel @ Spring I/O 2023"+800 views ⸱ 00h 44m 16s
  146. "Master the Fundamentals of Java 21 by Cracking Code Challenges"+800 views ⸱ 01h 05m 28s
  147. "Devnexus 2023 - Asynchronous Programming in Java using Virtual Threads - Venkat Subramaniam"+800 views ⸱ 00h 50m 02s
  148. "Securing Your Java Containers by Breaking In By Brian Vermeer"+800 views ⸱ 00h 46m 18s
... here's the remaining part of the list
Let me know what do you think and if you wish to see more posts like this in /java!
Changelog: - 2023-02-23: added missing conferences from the comments and updated view counts.
submitted by TechTalksWeekly to java [link] [comments]


2024.02.15 02:55 rootException Interest in Desktop Spring Boot?

I am the creator of the Maven JPackage template. Basically it's a nice starting point for folks that are interested in building JavaFX or Swing apps that will generate nice Windows, macOS, and Linux installers. It uses jlink to produce small JVMs while also maintaining compatibility with standard Maven dependency management.
Over the years, I have had several people ping me about using this template with Spring Boot.
I've got two ideas for how to do this properly.
  1. create a template using the JavaFX web view. Pro: fairly easy to do. Con: Relies on the JavaFX embedded web view, which I believe is based on WebKit. Minimum app size for a Hello World I believe would be around 60mb.
  2. create a template that uses GraalVM and Tauri. Pro: the experiments I've done have shown this to be quite fast to load. I can add an interface back to the JVM code to make calls into the Tauri subsystems just like the JavaScript code via Tauri commands, which includes much more modern APIs. Uses the modern browser webviews. No reliance on Swing or JavaFX. As Tauri mobile comes out, I think it could even support mobile. Could use the Tauri built-in auto-updater system. Cons: GraalVM is slower for builds.
My question is... would anyone use either of these? If you would use it, would it be for personal projects / solo developer stuff, or would this be something interesting for enterprise[s] or commercial stuff?
submitted by rootException to java [link] [comments]


2024.02.14 18:37 Peterschmeter1 Improve TPS with chunk destroyer

I am currently hosting an ATM9 server for myself.

If i run 1 chunk destroyer the TPS drops from 20 to 10, with 2 running it drops to 7.

The server has 4vcores 20GB dedicated, Ubuntu ARM.
Im using GraalVM 21 with the following args: -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+AlwaysActAsServerClassMachine -XX:+AlwaysPreTouch -XX:+DisableExplicitGC -XX:+UseNUMA -XX:AllocatePrefetchStyle=3 -XX:NmethodSweepActivity=1 -XX:ReservedCodeCacheSize=400M -XX:NonNMethodCodeHeapSize=12M -XX:ProfiledCodeHeapSize=194M -XX:NonProfiledCodeHeapSize=194M -XX:-DontCompileHugeMethods -XX:+PerfDisableSharedMem -XX:+UseFastUnorderedTimeStamps -XX:+UseCriticalJavaThreadPriority -XX:+EagerJVMCI -Dgraal.TuneInlinerExploration=1 -Dgraal.CompilerConfiguration=enterprise

Is there any way to improve TPS with a chunk destroyer running?
submitted by Peterschmeter1 to admincraft [link] [comments]


2024.01.26 12:15 UKSmalltalk UKSTUG Meeting - Pierre Misse-Chanabier: Polyphemus Take 2 - 31 January 2024

Pierre Misse-Chanabier will talk to us about Polyphemus for the Pharo Virtual Machine.
The presentation will focus on how to create Tooling on the Pharo Virtual Machine. (This does not require Virtual machine level knowledge).
We will start by taking a look at a few existing tools. We will create one or two small tools, and see how they differ from tooling on the image side.

Pierre Misse Chanabier is a recently graduated PhD with a focused interest on Virtual Machines, Code Generation, and Meta Programming. He worked on and contributed to many different levels and parts of the Pharo ecosystem.
He is now working on how to leverage images for more than what they do now. He's currently working at Microdoc on the Graal VM.
Born in south of France, he currently lives in Lille.

This will be an online meeting from home. This is a repeat of last November's presentation that could not go ahead due to issues with our Zoom account.

If you'd like to join us, please sign up in advance on the meeting's Meetup page to receive the meeting details. Don’t forget to bring your laptop and drinks!
submitted by UKSmalltalk to smalltalk [link] [comments]


2024.01.18 20:00 Tycho_Jissard MS-ISAC CYBERSECURITY ADVISORY - Oracle Quarterly Critical Patches Issued January 16, 2024 - PATCH: NOW

MS-ISAC CYBERSECURITY ADVISORY
MS-ISAC ADVISORY NUMBER: 2024-007
DATE(S) ISSUED: 01/18/2024
SUBJECT: Oracle Quarterly Critical Patches Issued January 16, 2024
OVERVIEW: Multiple vulnerabilities have been discovered in Oracle products, the most severe of which could allow for remote code execution.
SYSTEMS AFFECTED:
RISK: Government:
Businesses:
Home users: Low
RECOMMENDATIONS: We recommend the following actions be taken:
REFERENCES:
Oracle: https://www.oracle.com/security-alerts/cpujan2024.html
submitted by Tycho_Jissard to k12cybersecurity [link] [comments]


2024.01.15 01:17 JustCracked_TTV How can I Make a Custom Java Project Build For JavaFX?

How can I Make a Custom Java Project Build For JavaFX?
I am trying to make my own setup of javaFX without using the built in ones such as maven and so on. Mainly there are just two things I want to alter from the base java project creation when you do it with the command palette (Figure 1).

Figure 1
First Thing to Change:
I would like to add all of the required jar files into the "Referenced Libraries" section of the Java Projects (Figure 2) without having to manually add them every time I make a JavaFX project (The local location of the jar files will not change).
Figure 2
Second Thing to Change:

I would also like to automatically alter every launch.json file that comes with the java project to include the vmArgs configuration (Figure 3).

Figure 3
If there is any way I can do this please let me know, it would help out a lot! It does not really matter to me how I do this. Some ways I can think of on how to do this is possibly making a custom command that triggers the create java project command then automatically adds the two things. Or possibly if there is an extension for this or if it is easy to make my own extension for it. If there is a custom build option for when making the java project (Figure 4). Or even if one of the two things I need to do can be set to default always on the default java project itself.

Figure 4
submitted by JustCracked_TTV to vscode [link] [comments]


2023.12.18 07:16 rcxwhiz How I actually didn't double my Minecraft performance

This is a follow up to my recent post where I gave a brief performance guide with some tips that had recently given me some really significant gains that I wanted to share. I didn't want to spam feedthebeast, and I figured you guys are more worthy of this information. There were some major issues with my methodology that lead me to share some false conclusions. Some comments (thanks u/starlevel01, u/scratchisthebest, u/IThundxr, u/G0D3P5) made me decide to spend hours creating and performing more sound benchmarks. Results can be found in this google sheet. The most significant claim I made was that GraalVM enterprise edition could significantly reduce your memory usage and thus significantly improve your performance on low end machines.

Testing methodology

I ran testing on my computer (Ryzen 3600, GTX 1660, 32GB system RAM) with All The Mods 8 version 1.1.0 (a 1.19.2 based pack). In order to test Java 21 (which is not officially supported on 1.19, but can work), I upgraded forge to 43.3.5 from 43.2.14. I disabled Oculus and Simple Backups to improve consistency in my testing. I created a consistent world save to use. I collected TPS/GC info from Spark, and I collected FPS info from PresentMon. I ran tests with three amounts of allocated memory: 6GB, 8GB and 10GB. I decided these would represent low, normal and excessive amounts of memory allocated.
JVMs tested:
Java args tested:

Testing results

TLDR: Adoptium 17 with no arguments or G1GC args gave me superior performance in all RAM scenarios.

Garbage collectors/arguments

I was unable to get ZGC to perform better for me in any scenario. This could be because ZGC would benefit from additional/more powerful CPU cores. This is an important reminder: specific JVM performance is machine dependent. I was also unable to get Shenandoah to outperform G1GC/no args, which could also be due to my hardware. The idea that it is actually pretty difficult to beat the default JVM parameters was shown in these results.

Java 17 vs. 21

In my testing on a 1.19 modpack, Java 21 JVMs underperformed their Java 17 counterparts. One major improvement in Java 21 is supposed to be in ZGC, but I was not able to see that very well, probably since my ZGC never worked very well. I expect is that Java 17 is still getting a lot of the performance improvements that 21 is. I'm not sure if there are some performance benefits 21 has that require some difference in code to be active, but you wouldn't get that on 1.19 since Java 17 is the supported version. In summary, for 1.16-1.19 I would just use Java 17. For 1.20+ use Java 21.

Adoptium vs. GraalVM

I did not see a scenario where GraalVM outperformed Adoptium. The idea with GraalVM is that it is supposed to do better with fewer resources, and I think you could argue my results show GraalVM dropping less performance than Adoptium with less RAM, but GraalVM was never better. There was no difference between the standard and enterprise editions, confirming that when GraalVM was rereleased and the community and enterprise editions where merged, the exclusive performance enhancements in the enterprise edition were preserved. If you are going to use GraalVM, it would be best to use the new version and not the enterprise edition.
GraalVM did tend to have good minimum frame rates and tick rates, meaning less stuttering. This can lead to a better perceived experience. If you are having stutters, I’d try GraalVM.

My previous errors

Obligatory greg

Running meaningless benchmarks for hours was almost as fun as gregging, but seeing that my setup did not explode due to rain, it was not as fun.

Edit after the fact (justice for ZGC)

Using u/azureaquatic 's ZGC instructions in the comments I was able to replicate the results of absolutely no visual studders whatsoever for GC. I am not going to take the time to formally benchmark it, but I can say that I assume the numbers would show it is at least as good overall and I think probably significantly better in 0.1% framerates. I did have to enable ModernFix dynamic resources to see these results, so part of this improvement might just be from that.
submitted by rcxwhiz to feedthememes [link] [comments]


2023.12.15 11:54 lesser_ruhuratas Analyzing and ranking the best Shotguns for your squadmates (Mass Effect 3)

This is a follow-up to my previous threads where I tested the effectiveness of various weapons on your squad. The specifics of testing are detailed in the post regarding Assault Rifles.
Analyzing and ranking the best Assault Rifles for squadmates (Mass Effect 3) : masseffect (reddit.com)
To summarize, I went through the Noveria Fighter Base mission on Insanity using my squadmates to deal the majority of the damage and measuring how long it took them to complete the mission and kill the Atlas. There are quite a few exceptions to the specifics of testing so I'll mention them here.
Since most Shotguns rely on close range to get the most out of their pellet spread, I was very proactive with micromanaging the squad.
Squadmates were Tali and James. Tali can get a 45% damage boost through a passive skill and an outfit. James can get a 75% boost through passive skills and an outfit.
James had Incendiary Ammo (32% extra damage against armor and health + small damage over time) that was shared with Tali at half of its strength. While the last evolution of Incendiary Ammo that causes 50% of shots to explode is the more effective option, I did not spec into it as it would have given a disproportionally large advantage to the high fire rate Shotguns. Incendiary Ammo also had the benefit of panicking unshielded enemies, preventing them from moving and making them vulnerable to follow-up shots, which synergized well with the multi-pellet nature of most Shotguns.
Every test was done with a level V variant of the weapon and used the Shotgun Smart Choke V (+50% accuracy) and High-Velocity Barrel V (+25% damage, 65% armor mitigation)
Rankings:
  1. Geth Plasma Shotgun (mission 23:13, Atlas 2:48) - Only fires uncharged shots that take three hits to kill and the delay between shots is a whopping three full seconds. The plasma bolts can't pierce cover and since the projectiles are quite large, they have a high chance of impacting nearby objects and harmlessly dissipating before they can deal any damage.
  2. Venom (mission 19:30, Atlas 1:32) - Only fires uncharged shots that take three hits to kill, though fired a little faster than the GPS. Since the explosive radius isn't big and the projectiles are quite small, they often require a direct hit to do damage, which isn't common as the shots are slow.
  3. Graal Spike Thrower (mission 18:25, Atlas 1:53) - What a surprise, another chargeable Shotgun at the bottom of the list. I have often seen the Graal suggested for your team on account of its low spread but that is precisely the reason it didn't score higher. Near-misses that would deal at least some damage on other shotties instead do nothing. Low mag size and fire rate don't help things either.
  4. Reegar Carbine (mission 18:23, Atlas 0:55) - Required even more micromanagement than the other Shotguns. Despite its absolutely gargantuan damage potential, it will often go to waste, and not just because it does literally nothing outside of spitting distance. Your idiot teammates will somehow miss most of their shots with an electric current at point-blank range, causing them to spend more time reloading than shooting. Atlas kill time was the fastest in the class but other weapon types can have similar times without forcing your team to stand within French-kissing distance to an enemy that can insta-kill them.
  5. Disciple (mission 16:49, Atlas 1:56) - Very precise spread that works against the weapon at close range. Damage isn't spectacular but has an increased chance to stagger, which gives it a niche use (though I didn't notice it proc on the shielded Centurions).
  6. Eviscerator (mission 15:38, Atlas 1:45) - Another tight spread Shotgun that has a tendency to miss. Fires the first two shots at max fire rate, then there's an odd delay for the third.
  7. Katana (mission 14:11, Atlas 2:15) - Statistically pretty bad, but it's fired more rapidly than most other Shotguns, and the high spread ensures that it hits with at least some pellets. Could be imagining it, but it also seems that your team was much more reactive with the Katana, often opening fire on enemies as soon as they were seen.
  8. Piranha (mission 13:48, Atlas 1:14) - Has the opposite problem to the high-accuracy Shotguns, spread is too large to do much at longer ranges, like the landing pad. Conversely, it is the best option at close range, even beating out the Reegar. The fights at the control room were the fastest in the test.
  9. Wraith (mission 13:29, Atlas 1:26) - One of the two Shotguns that your squad can perform one-shots with, though it doesn't happen too often on account of needing most of the tight spread to hit. The two-shot clipazine and the low rate of fire prevent it from being higher.
  10. Claymore (mission 12:37, Atlas 1:04) - The other Shotgun capable of one-shots but these will occur much more frequently and at surprisingly long distances too. Complete overkill against already injured enemies that cause another unnecessary reload.
  11. Scimitar (mission 12:24, Atlas 1:51) - Damage is pretty low but the spread is just large enough to still deal solid damage at range without being inconsistent too close. Fired at its max fire rate until the enemy is dead, reaches cover or has to be reloaded. Can be obtained for free near the beginning of the game.
  12. Crusader (mission 11:05, Atlas 1:22) - Not reliant on range to be effective. Four-to-five shot kill (unless a headshot is scored) but fired and reloaded quite rapidly. Shots can pierce cover, even without mods. What the bottom three entries wish they were. The best option if you don't like micromanaging your squad.
  13. Raider (mission 10:38, Atlas 1:08) - Most certainly was not expecting this to beat the Crusader. Roughly the same damage as the Claymore, but spread over two shots. Couldn't kill in a single hit but your squad will immediately follow up with another shot when necessary, usually ensuring a kill. Not severely crippled by already injured enemies like the Claymore. Spread is very wide but pellet damage is high enough to remove about three or four bars of health at longer ranges.
Conclusion
Because your squadmates seem to be hard-coded to miss with their first shots, it would seem that Shotguns with a higher spread generally have an advantage when it comes to quickly engaging the target. Therefore, the higher accuracy Shotguns, like the Disciple and Eviscerator, might actually be more effective without the Smart Choke. Despite that, an overly large spread will still cause the weapon to be ineffective at longer ranges, so the Choke is still a good choice for something like the Piranha or Scimitar.
Video examples:
Raider: AT-12 Raider Squadmate usage showcase (Mass Effect 3) (youtube.com)
Crusader: N7 Crusader Squadmate usage showcase (Mass Effect 3) (youtube.com)
Scimitar: M-27 Scimitar Squadmate usage showcase (Mass Effect 3) (youtube.com)
Claymore: M-300 Claymore Squadmate usage showcase (Mass Effect 3) (youtube.com)
submitted by lesser_ruhuratas to masseffect [link] [comments]


2023.12.13 23:36 rcxwhiz How I about doubled my Minecraft performance

EDIT: I have created a follow up post that addresses some inaccuracies I posted here through thorough testing. It focuses on Java settings and arguments. I have heavily edited this post to reflect what I have found.
I think that a lot of people here are pretty aware of how to get decent performance out of Minecraft, but there were recently some comments here (that I can't find now) that lead me to some stuff I haven't seen before that gave me some really significant gains. I'm going to explain this stuff at a basic level for anyone that isn't familiar. This information is largely derived from this guide on JVMs and this guide on performance mods, but both of them are slightly out of date so I will summarize. Most of this information will be relevant to Minecraft 1.16.5+ (sorry GT:NH players) (not sorry GT:NH players who can apparently use Java 17?).

Choosing a JRE

When you run a Java program (like Minecraft), you need to choose a Java Runtime Environment (JRE) aka Java Virtual Machine (JVM). A Java Development Kit (JDK) will include this.
For Minecraft 1.16-1.19 you want to use a JVM at version 17. For 1.20+ you want to use version 21. There are annual releases of new Java versions, but 17 and 21 are long term support (LTS). Having a higher version of Java is not necessarily better.
There are several JVMs out there. Adoptium is a great option. It's also possible to get good performance from GraalVM. GraalVM theoretically adds optimizations that might lead to better performance, but actual results vary and depend on your machine. In my experience GraalVM can have better minimum FPS and tick rates (less stuttering), which can lead to significantly better perceived performance. If you are having stuttering issues, I’d try GraalVM.
To "install" Java for Minecraft purposes, you just need to put the files somewhere you want them. Some JVMs will come with an installer that will put the files in a standard place for you.
When you are using a launcher in the Prism, PolyMC, MultiMC family, you will be able to specify the Java version you want to use globally or per instance. You need to make sure you are actually using the JRE that you want.

Java Arguments

Read my linked post for a more in depth explanation of the effects of Java arguments. They can sometimes gain you a bit of performance. If you have Java 21 and/or a higher end PC, you will want to try ZGC. It is possible adding these arguments won't give you a performance gain, so compare against using no arguments if you try them.
G1GC:
-XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+AlwaysActAsServerClassMachine -XX:+AlwaysPreTouch -XX:+DisableExplicitGC -XX:+UseNUMA -XX:NmethodSweepActivity=1 -XX:ReservedCodeCacheSize=400M -XX:NonNMethodCodeHeapSize=12M -XX:ProfiledCodeHeapSize=194M -XX:NonProfiledCodeHeapSize=194M -XX:-DontCompileHugeMethods -XX:MaxNodeLimit=240000 -XX:NodeLimitFudgeFactor=8000 -XX:+UseVectorCmov -XX:+PerfDisableSharedMem -XX:+UseFastUnorderedTimeStamps -XX:+UseCriticalJavaThreadPriority -XX:ThreadPriorityPolicy=1 -XX:AllocatePrefetchStyle=3 -XX:+UseG1GC -XX:MaxGCPauseMillis=37 -XX:+PerfDisableSharedMem -XX:G1HeapRegionSize=16M -XX:G1NewSizePercent=23 -XX:G1ReservePercent=20 -XX:SurvivorRatio=32 -XX:G1MixedGCCountTarget=3 -XX:G1HeapWastePercent=20 -XX:InitiatingHeapOccupancyPercent=10 -XX:G1RSetUpdatingPauseTimePercent=0 -XX:MaxTenuringThreshold=1 -XX:G1SATBBufferEnqueueingThresholdPercent=30 -XX:G1ConcMarkStepDurationMillis=5.0 -XX:G1ConcRSHotCardLimit=16 -XX:G1ConcRefinementServiceIntervalMillis=150 -XX:GCTimeRatio=99 
ZGC:
-XX:+UnlockExperimentalVMOptions -XX:+UseZGC -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:+PerfDisableSharedMem -XX:-ZUncommit -XX:+ParallelRefProcEnabled 
Shenandoah:
-XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+AlwaysActAsServerClassMachine -XX:+AlwaysPreTouch -XX:+DisableExplicitGC -XX:+UseNUMA -XX:NmethodSweepActivity=1 -XX:ReservedCodeCacheSize=400M -XX:NonNMethodCodeHeapSize=12M -XX:ProfiledCodeHeapSize=194M -XX:NonProfiledCodeHeapSize=194M -XX:-DontCompileHugeMethods -XX:MaxNodeLimit=240000 -XX:NodeLimitFudgeFactor=8000 -XX:+UseVectorCmov -XX:+PerfDisableSharedMem -XX:+UseFastUnorderedTimeStamps -XX:+UseCriticalJavaThreadPriority -XX:ThreadPriorityPolicy=1 -XX:AllocatePrefetchStyle=3 -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGuaranteedGCInterval=1000000 -XX:AllocatePrefetchStyle=1 
Your launcher should have a Java arguments box in the same place where you can choose your JRE.

Memory Allocation

It is best to set you minimum and maximum RAM setting to the same amount. The idea is that if you give your instance too much RAM, it might have infrequent, long and noticeable pauses for garbage collection (memory management). If you don't allocate enough RAM, you will have frequent pauses/stutters. You can argue that you don't need to set your minimum and maximum allocation to the same amount, which probably won't hurt your performance and might leave more RAM available to your system if you need it for something else, but to me it makes sense to just dictate how much RAM your instance uses.
When you look at the F3 menu, you can see how much of the allocated RAM is being used, and you can get a feel for if it needs more or less. There are mods like Spark that can give you a more detailed look at your RAM use/garbage collection stats. The RAM allocation settings are in the same place in your launcher as the other Java settings.
GraalVM can potentially perform better with lower amounts of RAM.

Performance Mods

Performance mods are going to get you large gains. To see more performance mods for different versions, use the link at the top of this post.
Many performance mods are eternal ports/forks of the same thing. An example is Canary is a forge port of Lithium, but so is Radium which claims to be better. Embeddium is a fork of Rubidium which is a port of Sodium. You only want to have one version of a mod, and you can try to check that you have the best one for your version.
Some performance mods have big tradeoffs, like incompatibilities or changed behavior, or even big performance tradeoffs.
You do not want to use every performance mod you can find. Try to only add ones that you know give a significant performance improvement. Here is a list of performance mods I would use for forge 1.19.2:
*Technically don't improve performance but make it look like performance is better
If you are playing a modpack and you want more performance, you can try adding some of your own performance mods, but be prepared for incompatibilities.

Conclusion

I hope this is helpful to someone. I feel like it could be since a lot of the sources I've seen are slightly outdated. If you have a big performance tip please leave it in a comment. I have seen these optimizations make a big difference for several people.
EDIT: I have removed the rudimentary benchmarks from this post since the way I didn't separate my variables lead to misleading results.
submitted by rcxwhiz to feedthebeast [link] [comments]


2023.12.01 17:58 Shawn-Yang25 Blazing Fast Native JVM Serialization: Putting Fury JIT and GraalVM Native Image AOT together

Graal Native Image is a technology to compile Java code ahead-of-time to a lightweight native binary executable, which has the advantages of smaller resources, starts in milliseconds, no warmup needed, and reduce attack surface. The serialization in graalvm is tricky and slow since it doesn't support reflection, jit, and bytecode manipulation. Many performance optimization can't be applied in graalvm.
In Fury 0.4.0 version, Fury can run on GraalVM native image efficiently and is super easy-to-use. Neither reflection nor meta config are needed. Fury generates all code for Fury JIT framework and MethodHandle/LambdaMetafactory at graalvm native image build time. Then use those generated code for serialization at runtime without any extra cost, the performance is great.
Compared to native JDK serialization, Fury can be 46x faster than JDK, and less than half of the serialized size.
See https://github.com/alipay/fury/blob/main/docs/guide/graalvm_guide.md for example and benchmarks.
This is a big step for jvm serialization, please give it a try and share us with your feedbacks.
submitted by Shawn-Yang25 to scala [link] [comments]


2023.11.29 00:45 UKSmalltalk UKSTUG Meeting - 29 November 2023 - Pierre Misse-Chanabier: Polyphemus

For the November UKSTUG meeting, Pierre Misse-Chanabier will talk to us about Polyphemus for the Pharo Virtual Machine ( https://github.com/hogoww/Polyphemus ).The presentation will focus on how to create Tooling on the Pharo Virtual Machine. (This does not require Virtual machine level knowledge)
We will start by taking a look at a few existing tools. We will create one or two small tools, and see how they differ from tooling on the image side.Pierre Misse Chanabier is a recently graduated PhD with a focused interest on Virtual Machines, Code Generation, and Meta Programming. He worked on and contributed to many different levels and parts of the Pharo
ecosystem.
He is now working on how to leverage images for more than what they do now. He's currently working at Microdoc on the Graal VM ( https://www.microdoc.com/ ).
Born in south of France, he currently lives in Lille.
This will be an online meeting from home.
If you'd like to join us, please sign up in advance on the meeting's Meetup page ( https://www.meetup.com/ukstug/events/297644731 ) to receive the meeting details. Don’t forget to bring your laptop and drinks!
submitted by UKSmalltalk to smalltalk [link] [comments]


2023.11.01 01:53 Ok-Nothing4407 Does anyone know how I can get support

So I had a situation where I got hacked last week, my account was hacked by someone telling me to email a certain email and type "Happy holidays graal" and I would get a reward (20 k gralats and 5 EC), unfortunately, I fell for it and at that moment that I sent that email my account got disconnected (I never shared my ID or passwords), the person started talking to other people using my account and eventually got banned, the next day I got it back but with a ban of 70 years, I've tried contacting everyone for weeks and got no reply I feel that they are not even reading into the situation and just replying with the first thing that they read. I have sent proof, I have sent emails, talked to admins, toonslab and no one has been able to help me. Please lmk if anyone can help, it's getting annoying how little they care about their players
submitted by Ok-Nothing4407 to GraalOnline [link] [comments]


2023.10.19 18:19 hunajakettu Unexpected behaviour of binary complied with GraalVM

I have the following code (reduced to a minimum working example):
``` clojure (ns timer.core (:gen-class))
(defn handle2 [x] (if (string? x) (IntegeparseInt x) x))
(defn -main ([max-time] (println (format "Going to sleep %d seconds" (handle2 max-time))) (let [sleep-time (* (handle2 max-time) 1000)] (Thread/sleep sleep-time) (println (format "Waken up")))) ([] (-main 10))) ```
that works in the cider REPl on emacs and also works with > lein run on a windows terminal (x64 Native Command Prompt for VS 2022) and also can be compiled into an uberjar with leiningen and calling the java -jar command works. All the previous work with or without the max-time argument, as it is expected.
But when I build a executable from the uberjar with the GraalVM using the command ```
native-image --report-unsupported-elements-at-runtime --initialize-at-build-time -jar .\target\timer-0.1.0-SNAPSHOT-standalone.jar -H:Name=timer-cli `` although it compiles atimer-cli.exe` executable binary, this fails when is run with this error:
exp-timer-cli.exe Going to sleep 10 seconds Exception in thread "main" java.lang.IllegalArgumentException: No matching method sleep found taking 1 args at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:127) at clojure.lang.Reflector.invokeStaticMethod(Reflector.java:332) at timer.core$_main.invokeStatic(core.clj:72) at timer.core$_main.invoke(core.clj:68) at timer.core$_main.invokeStatic(core.clj:76) at timer.core$_main.invoke(core.clj:68) at clojure.lang.AFn.applyToHelper(AFn.java:152) at clojure.lang.AFn.applyTo(AFn.java:144) at timer.core.main(Unknown Source)
with or without parameter. But if I substitute (handle2 max-time) by an actual number (let's say 2), the program works, but of course with the hardcoded variable as sleep time, and prints the parameter value on the message string.
Does any one have experience with the GraalVM and knows why this happens? And how to solve this would be greatly appreciated.
Using: - Leiningen 2.10.0 on Java 19.0.2 OpenJDK 64-Bit Server VM - GraalVM 22.3.1
submitted by hunajakettu to Clojure [link] [comments]


http://rodzice.org/