Hero background

Simloop - un esempio di uso

In piena epoca di AI 🤖 e coding agents che scrivono codice a comando, ho riscoperto una passione che credevo sopita da anni: le simulazioni a eventi discreti!

Le avevo studiate e praticate parecchio durante il periodo accademico, poi lavoro ed ecommerce mi hanno portato altrove. Tuttavia, qualche tempo fa questo rinnovato interesse mi ha spinto a scrivere simloop: una libreria DES scritta interamente in TypeScript, zero dipendenze esterne, con un'API type-safe — eventi, entità, risorse e code già pronte con statistiche automatiche, 11 distribuzioni di probabilità incluse. Con l'aiuto di un fidato coding agent, è ovvio, ma solo per le parti più noiose! Tutto il resto è... for fun! 😃

Per mostrare un caso d'uso concreto (e non solo "guardate che bella libreria"), ho costruito un piccolo repo di esempio: la simulazione del checkout di un e-commerce durante un flash sale tipo Black Friday. Con poche righe di codice si sfrutta praticamente tutta l'API di simloop — risorse con capacità limitata, code con overflow policy, distribuzioni per arrivi e tempi di servizio, warm-up period, seed deterministico per la riproducibilità.

E i numeri che escono fuori sono interessanti: con 5 slot concorrenti sul payment gateway, il 45% dei carrelli veniva abbandonato durante il picco di traffico. Portando la capacità a 25 slot, l'abbandono crolla a 0% e il throughput arriva già al suo massimo. Oltre quella soglia, però, non si guadagna nulla: a 50 slot l'abbandono resta 0% e il throughput è identico, solo che il gateway lavora al 30% invece che al 58% — capacità pagata e praticamente buttata. Un bel modo per vedere a occhio dove finisce il ritorno e inizia lo spreco.

Se vi va di darci un'occhiata:
💻 Esempio flash sale: Github
🔗 Sito simloop
📦 npm