際際滷

際際滷Share a Scribd company logo
EVENT LOOPS
Everything you wanted to know
but couldn't 鍖nd on StackOver鍖ow
ABOUT ME
 I've misunderstood event loops for over a decade
 23 years ago I set out on a quest to really
understand them
 I failed
 but learned a few things
WE ALL START SOMEWHERE
<?php
echo "im in ur pagez, writin php!!1!"
?>
alert("Hi mom!");
WHY ISTHIS SO SLOW?
for my $host (@hosts) {
say $host . " is " . (ping($host) ? "up" : "down");
}
for host in hosts:
print host + " is " + ("up" if ping(host) else "down")
BECAUSE NETWORKS
FORKING
<?php
function ping($host) {
...
}
foreach ($hosts as $host) {
$pid = pcntl_fork();
if ($pid) {
pcntl_wait($status);
} else {
ping($host);
}
}
?>
THREADING
Some people, when confronted with a problem, think,
I know, I'll use threads
now two they hav erpoblesm.
Knock knock.
Race condition.
Who's there?
Apple, "Threaded Programming Guide:Thread Management"
Another cost to consider when writing threaded
code is the production costs. Designing a threaded
application can sometimes require fundamental
changes to the way you organize your applications
data structures. Making those changes might be
necessary to avoid the use of synchronization, which
can itself impose a tremendous performance penalty
on poorly designed applications. Designing those data
structures, and debugging problems in threaded code,
can increase the time it takes to develop a threaded
application.Avoiding those costs can create bigger
problems at runtime, however, if your threads spend
too much time waiting on locks or doing nothing.
NON-BLOCKING IO
LETS ORDER
BREAKFAST!
pancakes
soft-boiled egg
orange juice
BLOCKING CHEF
mix
pancakes
heat skillet
cook
pancakes
boil water cook eggs cut juice
NON-BLOCKING CHEF
mix
pancakes
heat skillet
cook
pancakes
boil water cook eggs
cut juice
for host in hosts:
clientsocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
clientsocket.setblocking(0)
clientsocket.connect((host, port))
while 1:
reads, writes, fails = select.select(in, out, [], wait)
# do something with these handles
...
EVENT LOOPS
A Gentle Introduction to Event Loops
while (!mExiting)
NS_ProcessNextEvent(thread);
DEVICES & GAMES
A Gentle Introduction to Event Loops
UNITY 3D GAME LOOP
 physics loop: runs until caught up to current frame
 event updates once per loop iteration ("tick")
 network events
 rendering
$.get("some/page.html", function (data) {
$("#response").html(data);
});
var req = http.request({path: 'some/page.html'}, function(res) {
res.on('data', function(data) {
console.log(data);
});
});
$ua->get('some/page.html', sub {
say pop->res->body;
});
http.get(url, function(response) {
print response.body
})
Loop.Run()
reactor (event sources)
http.get(url function(response) {
print response.body
}
Loop.Run()
message queue (callbacks)
<script type=text/javascript">
$(document).ready(function() {
jQuery.ajax(http://www.perl.org,
{
success: function(data) {
alert("loaded!")
}
})
})
</script>
jQuery.ajax(http://www.perl.org,
{
success: function(data) {
alert("loaded!")
}
})
success: function(data) {
alert("loaded!")
}
CAVEAT EMPTOR
 event loops can be hard to work with
 don't use callbacks except for simple things
 use Promises, Futures and other abstractions
IMAGE CREDITS
 stopwatch, cloud, database, info by Austin Condiff
from the Noun Project
 server by aLf from the Noun Project
 browser by Cindy Hu from the Noun Project
 code by useiconic.com from the Noun Project

More Related Content

What's hot (20)

Selenium sandwich-3: Being where you aren't.
Selenium sandwich-3: Being where you aren't.Selenium sandwich-3: Being where you aren't.
Selenium sandwich-3: Being where you aren't.
Workhorse Computing
Anyevent
AnyeventAnyevent
Anyevent
Marian Marinov
Domains!
Domains!Domains!
Domains!
Domenic Denicola
JavaScript Promise
JavaScript PromiseJavaScript Promise
JavaScript Promise
Joseph Chiang
Mojolicious, real-time web framework
Mojolicious, real-time web frameworkMojolicious, real-time web framework
Mojolicious, real-time web framework
taggg
Avoiding callback hell in Node js using promises
Avoiding callback hell in Node js using promisesAvoiding callback hell in Node js using promises
Avoiding callback hell in Node js using promises
Ankit Agarwal
The Promised Land (in Angular)
The Promised Land (in Angular)The Promised Land (in Angular)
The Promised Land (in Angular)
Domenic Denicola
Triple Blitz Strike
Triple Blitz StrikeTriple Blitz Strike
Triple Blitz Strike
Denis Zhdanov
Mojolicious on Steroids
Mojolicious on SteroidsMojolicious on Steroids
Mojolicious on Steroids
Tudor Constantin
Keeping it small: Getting to know the Slim micro framework
Keeping it small: Getting to know the Slim micro frameworkKeeping it small: Getting to know the Slim micro framework
Keeping it small: Getting to know the Slim micro framework
Jeremy Kendall
The promise of asynchronous php
The promise of asynchronous phpThe promise of asynchronous php
The promise of asynchronous php
Wim Godden
Callbacks, promises, generators - asynchronous javascript
Callbacks, promises, generators - asynchronous javascriptCallbacks, promises, generators - asynchronous javascript
Callbacks, promises, generators - asynchronous javascript
ukasz Ku甜yski
Boom! Promises/A+ Was Born
Boom! Promises/A+ Was BornBoom! Promises/A+ Was Born
Boom! Promises/A+ Was Born
Domenic Denicola
Async Frontiers
Async FrontiersAsync Frontiers
Async Frontiers
Domenic Denicola
Asynchronous programming done right - Node.js
Asynchronous programming done right - Node.jsAsynchronous programming done right - Node.js
Asynchronous programming done right - Node.js
Piotr Pelczar
Web Crawling with NodeJS
Web Crawling with NodeJSWeb Crawling with NodeJS
Web Crawling with NodeJS
Sylvain Zimmer
Avoiding Callback Hell with Async.js
Avoiding Callback Hell with Async.jsAvoiding Callback Hell with Async.js
Avoiding Callback Hell with Async.js
cacois
Puppet Camp 2012
Puppet Camp 2012Puppet Camp 2012
Puppet Camp 2012
Server Density
JavaScript Promises
JavaScript PromisesJavaScript Promises
JavaScript Promises
Tomasz Bak
Promises, Promises
Promises, PromisesPromises, Promises
Promises, Promises
Domenic Denicola
Selenium sandwich-3: Being where you aren't.
Selenium sandwich-3: Being where you aren't.Selenium sandwich-3: Being where you aren't.
Selenium sandwich-3: Being where you aren't.
Workhorse Computing
JavaScript Promise
JavaScript PromiseJavaScript Promise
JavaScript Promise
Joseph Chiang
Mojolicious, real-time web framework
Mojolicious, real-time web frameworkMojolicious, real-time web framework
Mojolicious, real-time web framework
taggg
Avoiding callback hell in Node js using promises
Avoiding callback hell in Node js using promisesAvoiding callback hell in Node js using promises
Avoiding callback hell in Node js using promises
Ankit Agarwal
The Promised Land (in Angular)
The Promised Land (in Angular)The Promised Land (in Angular)
The Promised Land (in Angular)
Domenic Denicola
Triple Blitz Strike
Triple Blitz StrikeTriple Blitz Strike
Triple Blitz Strike
Denis Zhdanov
Mojolicious on Steroids
Mojolicious on SteroidsMojolicious on Steroids
Mojolicious on Steroids
Tudor Constantin
Keeping it small: Getting to know the Slim micro framework
Keeping it small: Getting to know the Slim micro frameworkKeeping it small: Getting to know the Slim micro framework
Keeping it small: Getting to know the Slim micro framework
Jeremy Kendall
The promise of asynchronous php
The promise of asynchronous phpThe promise of asynchronous php
The promise of asynchronous php
Wim Godden
Callbacks, promises, generators - asynchronous javascript
Callbacks, promises, generators - asynchronous javascriptCallbacks, promises, generators - asynchronous javascript
Callbacks, promises, generators - asynchronous javascript
ukasz Ku甜yski
Boom! Promises/A+ Was Born
Boom! Promises/A+ Was BornBoom! Promises/A+ Was Born
Boom! Promises/A+ Was Born
Domenic Denicola
Asynchronous programming done right - Node.js
Asynchronous programming done right - Node.jsAsynchronous programming done right - Node.js
Asynchronous programming done right - Node.js
Piotr Pelczar
Web Crawling with NodeJS
Web Crawling with NodeJSWeb Crawling with NodeJS
Web Crawling with NodeJS
Sylvain Zimmer
Avoiding Callback Hell with Async.js
Avoiding Callback Hell with Async.jsAvoiding Callback Hell with Async.js
Avoiding Callback Hell with Async.js
cacois
JavaScript Promises
JavaScript PromisesJavaScript Promises
JavaScript Promises
Tomasz Bak

Similar to A Gentle Introduction to Event Loops (20)

Node.js
Node.jsNode.js
Node.js
Mat Schaffer
Node.js - A Quick Tour
Node.js - A Quick TourNode.js - A Quick Tour
Node.js - A Quick Tour
Felix Geisend旦rfer
PHP CLI: A Cinderella Story
PHP CLI: A Cinderella StoryPHP CLI: A Cinderella Story
PHP CLI: A Cinderella Story
Mike Lively
Playing With Fire - An Introduction to Node.js
Playing With Fire - An Introduction to Node.jsPlaying With Fire - An Introduction to Node.js
Playing With Fire - An Introduction to Node.js
Mike Hagedorn
Real-Time Python Web: Gevent and Socket.io
Real-Time Python Web: Gevent and Socket.ioReal-Time Python Web: Gevent and Socket.io
Real-Time Python Web: Gevent and Socket.io
Rick Copeland
Original slides from Ryan Dahl's NodeJs intro talk
Original slides from Ryan Dahl's NodeJs intro talkOriginal slides from Ryan Dahl's NodeJs intro talk
Original slides from Ryan Dahl's NodeJs intro talk
Aarti Parikh
Puppet for dummies - PHPBenelux UG edition
Puppet for dummies - PHPBenelux UG editionPuppet for dummies - PHPBenelux UG edition
Puppet for dummies - PHPBenelux UG edition
Joshua Thijssen
Get-Help: An intro to PowerShell and how to Use it for Evil
Get-Help: An intro to PowerShell and how to Use it for EvilGet-Help: An intro to PowerShell and how to Use it for Evil
Get-Help: An intro to PowerShell and how to Use it for Evil
jaredhaight
How NOT to write in Node.js
How NOT to write in Node.jsHow NOT to write in Node.js
How NOT to write in Node.js
Piotr Pelczar
Nodejs - A quick tour (v6)
Nodejs - A quick tour (v6)Nodejs - A quick tour (v6)
Nodejs - A quick tour (v6)
Felix Geisend旦rfer
Introduction to ReasonML
Introduction to ReasonMLIntroduction to ReasonML
Introduction to ReasonML
Riza Fahmi
Perkenalan ReasonML
Perkenalan ReasonMLPerkenalan ReasonML
Perkenalan ReasonML
Riza Fahmi
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.js
Richard Lee
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
Ortus Solutions, Corp
What we Learned Implementing Puppet at Backstop
What we Learned Implementing Puppet at BackstopWhat we Learned Implementing Puppet at Backstop
What we Learned Implementing Puppet at Backstop
Puppet
Express Presentation
Express PresentationExpress Presentation
Express Presentation
aaronheckmann
Anatomy of a PHP Request ( UTOSC 2010 )
Anatomy of a PHP Request ( UTOSC 2010 )Anatomy of a PHP Request ( UTOSC 2010 )
Anatomy of a PHP Request ( UTOSC 2010 )
Joseph Scott
CI workflow in a web studio
CI workflow in a web studioCI workflow in a web studio
CI workflow in a web studio
deWeb
Introduction to AngularJS
Introduction to AngularJSIntroduction to AngularJS
Introduction to AngularJS
Pat Cito
I put on my mink and wizard behat (tutorial)
I put on my mink and wizard behat (tutorial)I put on my mink and wizard behat (tutorial)
I put on my mink and wizard behat (tutorial)
xsist10
PHP CLI: A Cinderella Story
PHP CLI: A Cinderella StoryPHP CLI: A Cinderella Story
PHP CLI: A Cinderella Story
Mike Lively
Playing With Fire - An Introduction to Node.js
Playing With Fire - An Introduction to Node.jsPlaying With Fire - An Introduction to Node.js
Playing With Fire - An Introduction to Node.js
Mike Hagedorn
Real-Time Python Web: Gevent and Socket.io
Real-Time Python Web: Gevent and Socket.ioReal-Time Python Web: Gevent and Socket.io
Real-Time Python Web: Gevent and Socket.io
Rick Copeland
Original slides from Ryan Dahl's NodeJs intro talk
Original slides from Ryan Dahl's NodeJs intro talkOriginal slides from Ryan Dahl's NodeJs intro talk
Original slides from Ryan Dahl's NodeJs intro talk
Aarti Parikh
Puppet for dummies - PHPBenelux UG edition
Puppet for dummies - PHPBenelux UG editionPuppet for dummies - PHPBenelux UG edition
Puppet for dummies - PHPBenelux UG edition
Joshua Thijssen
Get-Help: An intro to PowerShell and how to Use it for Evil
Get-Help: An intro to PowerShell and how to Use it for EvilGet-Help: An intro to PowerShell and how to Use it for Evil
Get-Help: An intro to PowerShell and how to Use it for Evil
jaredhaight
How NOT to write in Node.js
How NOT to write in Node.jsHow NOT to write in Node.js
How NOT to write in Node.js
Piotr Pelczar
Introduction to ReasonML
Introduction to ReasonMLIntroduction to ReasonML
Introduction to ReasonML
Riza Fahmi
Perkenalan ReasonML
Perkenalan ReasonMLPerkenalan ReasonML
Perkenalan ReasonML
Riza Fahmi
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.js
Richard Lee
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
Ortus Solutions, Corp
What we Learned Implementing Puppet at Backstop
What we Learned Implementing Puppet at BackstopWhat we Learned Implementing Puppet at Backstop
What we Learned Implementing Puppet at Backstop
Puppet
Express Presentation
Express PresentationExpress Presentation
Express Presentation
aaronheckmann
Anatomy of a PHP Request ( UTOSC 2010 )
Anatomy of a PHP Request ( UTOSC 2010 )Anatomy of a PHP Request ( UTOSC 2010 )
Anatomy of a PHP Request ( UTOSC 2010 )
Joseph Scott
CI workflow in a web studio
CI workflow in a web studioCI workflow in a web studio
CI workflow in a web studio
deWeb
Introduction to AngularJS
Introduction to AngularJSIntroduction to AngularJS
Introduction to AngularJS
Pat Cito
I put on my mink and wizard behat (tutorial)
I put on my mink and wizard behat (tutorial)I put on my mink and wizard behat (tutorial)
I put on my mink and wizard behat (tutorial)
xsist10

Recently uploaded (20)

7 Micro-Metrics That Predict Production Outages in Performance Labs Webinar
7 Micro-Metrics That Predict Production Outages in Performance Labs Webinar7 Micro-Metrics That Predict Production Outages in Performance Labs Webinar
7 Micro-Metrics That Predict Production Outages in Performance Labs Webinar
Tier1 app
I Love Tech Romania - A High-Speed Data Ingestion Microservice in Java Using ...
I Love Tech Romania - A High-Speed Data Ingestion Microservice in Java Using ...I Love Tech Romania - A High-Speed Data Ingestion Microservice in Java Using ...
I Love Tech Romania - A High-Speed Data Ingestion Microservice in Java Using ...
Juarez Junior
AI/ML Infra Meetup | Optimizing ML Data Access with Alluxio: Preprocessing, ...
AI/ML Infra Meetup | Optimizing ML Data Access with Alluxio:  Preprocessing, ...AI/ML Infra Meetup | Optimizing ML Data Access with Alluxio:  Preprocessing, ...
AI/ML Infra Meetup | Optimizing ML Data Access with Alluxio: Preprocessing, ...
Alluxio, Inc.
Bug Life Cycle in Software Testing: Understanding the Journey from Detection ...
Bug Life Cycle in Software Testing: Understanding the Journey from Detection ...Bug Life Cycle in Software Testing: Understanding the Journey from Detection ...
Bug Life Cycle in Software Testing: Understanding the Journey from Detection ...
Shubham Joshi
DORA Community - Building 10x Development Organizations.pdf
DORA Community - Building 10x Development Organizations.pdfDORA Community - Building 10x Development Organizations.pdf
DORA Community - Building 10x Development Organizations.pdf
Justin Reock
odoo website helpdesk Ticket management app
odoo website helpdesk Ticket management appodoo website helpdesk Ticket management app
odoo website helpdesk Ticket management app
Aagam infotech
Disk Drill Pro crack free software download
Disk Drill Pro crack free software downloadDisk Drill Pro crack free software download
Disk Drill Pro crack free software download
calewi5784
Java Forum Nord - Hannover - The Trinity in GenAI - Spring AI, LangChain4J a...
Java Forum Nord - Hannover  - The Trinity in GenAI - Spring AI, LangChain4J a...Java Forum Nord - Hannover  - The Trinity in GenAI - Spring AI, LangChain4J a...
Java Forum Nord - Hannover - The Trinity in GenAI - Spring AI, LangChain4J a...
Juarez Junior
Agentic AI: The Future of Intelligent Automation
Agentic AI: The Future of Intelligent AutomationAgentic AI: The Future of Intelligent Automation
Agentic AI: The Future of Intelligent Automation
AutomationEdge Technologies
Adobe Illustrator 2024 Crack Download free
Adobe Illustrator 2024 Crack Download freeAdobe Illustrator 2024 Crack Download free
Adobe Illustrator 2024 Crack Download free
capiti3833
Lecture-12-ACL_information_Security.pptx
Lecture-12-ACL_information_Security.pptxLecture-12-ACL_information_Security.pptx
Lecture-12-ACL_information_Security.pptx
homecooking511
AI/ML Infra Meetup | Building Production Platform for Large-Scale Recommendat...
AI/ML Infra Meetup | Building Production Platform for Large-Scale Recommendat...AI/ML Infra Meetup | Building Production Platform for Large-Scale Recommendat...
AI/ML Infra Meetup | Building Production Platform for Large-Scale Recommendat...
Alluxio, Inc.
PTW Training - Empowering Teams for Safer Workplace
PTW Training - Empowering Teams for Safer WorkplacePTW Training - Empowering Teams for Safer Workplace
PTW Training - Empowering Teams for Safer Workplace
TECH EHS Solution
DUBJUG_Blazingly Fast GenAI App Development With Java and Spring AI.pdf
DUBJUG_Blazingly Fast GenAI App Development With Java and Spring AI.pdfDUBJUG_Blazingly Fast GenAI App Development With Java and Spring AI.pdf
DUBJUG_Blazingly Fast GenAI App Development With Java and Spring AI.pdf
Juarez Junior
LLM-based Multi-Agent Systems to Replace Traditional Software
LLM-based Multi-Agent Systems to Replace Traditional SoftwareLLM-based Multi-Agent Systems to Replace Traditional Software
LLM-based Multi-Agent Systems to Replace Traditional Software
Ivo Andreev
VADY Converts Context into Scalable Business Innovation
VADY Converts Context into Scalable Business InnovationVADY Converts Context into Scalable Business Innovation
VADY Converts Context into Scalable Business Innovation
NewFangledVision
How Gamification Can Boost Engagement in Travel Apps
How Gamification Can Boost Engagement in Travel AppsHow Gamification Can Boost Engagement in Travel Apps
How Gamification Can Boost Engagement in Travel Apps
mohit579916
iTop VPN Crack 2025 License Key latest Free
iTop VPN Crack 2025 License Key latest FreeiTop VPN Crack 2025 License Key latest Free
iTop VPN Crack 2025 License Key latest Free
amalkashif789
Windows Movie Maker 2025 Crack + Registration Code Free Download
Windows Movie Maker 2025 Crack + Registration Code Free DownloadWindows Movie Maker 2025 Crack + Registration Code Free Download
Windows Movie Maker 2025 Crack + Registration Code Free Download
ca6725722
Wondershare Recoverit 13.0.1.6 Crack Free Download
Wondershare Recoverit 13.0.1.6 Crack Free DownloadWondershare Recoverit 13.0.1.6 Crack Free Download
Wondershare Recoverit 13.0.1.6 Crack Free Download
jrehmani658
7 Micro-Metrics That Predict Production Outages in Performance Labs Webinar
7 Micro-Metrics That Predict Production Outages in Performance Labs Webinar7 Micro-Metrics That Predict Production Outages in Performance Labs Webinar
7 Micro-Metrics That Predict Production Outages in Performance Labs Webinar
Tier1 app
I Love Tech Romania - A High-Speed Data Ingestion Microservice in Java Using ...
I Love Tech Romania - A High-Speed Data Ingestion Microservice in Java Using ...I Love Tech Romania - A High-Speed Data Ingestion Microservice in Java Using ...
I Love Tech Romania - A High-Speed Data Ingestion Microservice in Java Using ...
Juarez Junior
AI/ML Infra Meetup | Optimizing ML Data Access with Alluxio: Preprocessing, ...
AI/ML Infra Meetup | Optimizing ML Data Access with Alluxio:  Preprocessing, ...AI/ML Infra Meetup | Optimizing ML Data Access with Alluxio:  Preprocessing, ...
AI/ML Infra Meetup | Optimizing ML Data Access with Alluxio: Preprocessing, ...
Alluxio, Inc.
Bug Life Cycle in Software Testing: Understanding the Journey from Detection ...
Bug Life Cycle in Software Testing: Understanding the Journey from Detection ...Bug Life Cycle in Software Testing: Understanding the Journey from Detection ...
Bug Life Cycle in Software Testing: Understanding the Journey from Detection ...
Shubham Joshi
DORA Community - Building 10x Development Organizations.pdf
DORA Community - Building 10x Development Organizations.pdfDORA Community - Building 10x Development Organizations.pdf
DORA Community - Building 10x Development Organizations.pdf
Justin Reock
odoo website helpdesk Ticket management app
odoo website helpdesk Ticket management appodoo website helpdesk Ticket management app
odoo website helpdesk Ticket management app
Aagam infotech
Disk Drill Pro crack free software download
Disk Drill Pro crack free software downloadDisk Drill Pro crack free software download
Disk Drill Pro crack free software download
calewi5784
Java Forum Nord - Hannover - The Trinity in GenAI - Spring AI, LangChain4J a...
Java Forum Nord - Hannover  - The Trinity in GenAI - Spring AI, LangChain4J a...Java Forum Nord - Hannover  - The Trinity in GenAI - Spring AI, LangChain4J a...
Java Forum Nord - Hannover - The Trinity in GenAI - Spring AI, LangChain4J a...
Juarez Junior
Agentic AI: The Future of Intelligent Automation
Agentic AI: The Future of Intelligent AutomationAgentic AI: The Future of Intelligent Automation
Agentic AI: The Future of Intelligent Automation
AutomationEdge Technologies
Adobe Illustrator 2024 Crack Download free
Adobe Illustrator 2024 Crack Download freeAdobe Illustrator 2024 Crack Download free
Adobe Illustrator 2024 Crack Download free
capiti3833
Lecture-12-ACL_information_Security.pptx
Lecture-12-ACL_information_Security.pptxLecture-12-ACL_information_Security.pptx
Lecture-12-ACL_information_Security.pptx
homecooking511
AI/ML Infra Meetup | Building Production Platform for Large-Scale Recommendat...
AI/ML Infra Meetup | Building Production Platform for Large-Scale Recommendat...AI/ML Infra Meetup | Building Production Platform for Large-Scale Recommendat...
AI/ML Infra Meetup | Building Production Platform for Large-Scale Recommendat...
Alluxio, Inc.
PTW Training - Empowering Teams for Safer Workplace
PTW Training - Empowering Teams for Safer WorkplacePTW Training - Empowering Teams for Safer Workplace
PTW Training - Empowering Teams for Safer Workplace
TECH EHS Solution
DUBJUG_Blazingly Fast GenAI App Development With Java and Spring AI.pdf
DUBJUG_Blazingly Fast GenAI App Development With Java and Spring AI.pdfDUBJUG_Blazingly Fast GenAI App Development With Java and Spring AI.pdf
DUBJUG_Blazingly Fast GenAI App Development With Java and Spring AI.pdf
Juarez Junior
LLM-based Multi-Agent Systems to Replace Traditional Software
LLM-based Multi-Agent Systems to Replace Traditional SoftwareLLM-based Multi-Agent Systems to Replace Traditional Software
LLM-based Multi-Agent Systems to Replace Traditional Software
Ivo Andreev
VADY Converts Context into Scalable Business Innovation
VADY Converts Context into Scalable Business InnovationVADY Converts Context into Scalable Business Innovation
VADY Converts Context into Scalable Business Innovation
NewFangledVision
How Gamification Can Boost Engagement in Travel Apps
How Gamification Can Boost Engagement in Travel AppsHow Gamification Can Boost Engagement in Travel Apps
How Gamification Can Boost Engagement in Travel Apps
mohit579916
iTop VPN Crack 2025 License Key latest Free
iTop VPN Crack 2025 License Key latest FreeiTop VPN Crack 2025 License Key latest Free
iTop VPN Crack 2025 License Key latest Free
amalkashif789
Windows Movie Maker 2025 Crack + Registration Code Free Download
Windows Movie Maker 2025 Crack + Registration Code Free DownloadWindows Movie Maker 2025 Crack + Registration Code Free Download
Windows Movie Maker 2025 Crack + Registration Code Free Download
ca6725722
Wondershare Recoverit 13.0.1.6 Crack Free Download
Wondershare Recoverit 13.0.1.6 Crack Free DownloadWondershare Recoverit 13.0.1.6 Crack Free Download
Wondershare Recoverit 13.0.1.6 Crack Free Download
jrehmani658

A Gentle Introduction to Event Loops