Description

In questa sessione, esploreremo come dettagli apparentemente insignificanti e spesso trascurati nel nostro codice possano avere un impatto significativo sulle prestazioni del software, specialmente per quanto riguarda la concorrenza. Un bug nella JVM vecchio di due decenni, inizialmente scoperto all'interno di Quarkus, non è una problema solo per i programmatori di basso livello, ma può influenzare qualsiasi codebase.

Forniremo una spiegazione completa di questo problema, come lo abbiamo identificato e risolto in Drools, uno dei rule engine più utilizzati nell'ecosistema Java. Introdurremo inoltre strumenti specifici che tutti possono utilizzare per migliorare le prestazioni del proprio codice.

Infine, analizzeremo le nuove funzionalità di Java 21 per vedere se esiste lo stesso problema.

A cura di Luca Molteni, Francesco Nigro:
Luca Molteni Luca Molteni è un Software Engineer che lavora per Red Hat su Business Automation. In Red Hat, ha contribuito all'evoluzione del rule engine open source chiamato Drools per prepararlo all'era del cloud e renderlo più veloce. Crede che il software open source sia parte integrante dell'innovazione, promuova lo sviluppo delle community e aiuti ogni singolo programmatore a creare software migliore.

Francesco Nigro Lavoro da molti anni nel settore informatico. Negli ultimi +15 anni ho coltivato una forte passione per lo sviluppo Java e i dettagli nascosti di OpenJDK, recentemente affiancati da C e (x86) ASM. Grande appassionato del mondo DDD (Domain Driven Design), ho sviluppato diverse soluzioni di Event-Sourcing ad alte prestazioni in ambito medicale e IoT. Sono un membro attivo di varie comunità online sulle prestazioni (https://groups.google.com/forum/#!forum/mechanical-sympathy), Principal (Software) Performance Engineer e Performance Lead per Red Hat su Quarkus, Red Top Inventor (2019). Ho collaborato a diversi progetti legati al calcolo ad alte prestazioni sia come committer che come contributor, ad esempio Quarkus, Vert-x, Netty committer, autore di JCTools, PMC di ActiveMQ Apache Artemis (Messaging Broker), HdrHistogram, JGroups-raft, ...