SlideShare a Scribd company logo
PERFORMANCE
OPTIMIZATION IN RUBYPRATHMESH RANAUT
© Prathmesh Ranaut, 2017
© Prathmesh Ranaut, 2017
☃ -> "
© Prathmesh Ranaut, 2017
WHO AM I
> Computer Science Undergrad
> Helped ! of ruby apps improve
performance
© Prathmesh Ranaut, 2017
> Celluloid - Concurrent ruby framework
> Improved performance by 300%
© Prathmesh Ranaut, 2017
WHAT IS PERFORMANCE
OPTIMIZATION? !
© Prathmesh Ranaut, 2017
DOING
MOREWITH
LESS
© Prathmesh Ranaut, 2017
HOW?
© Prathmesh Ranaut, 2017
TIP #1
© Prathmesh Ranaut, 2017
ALWAYS HAVE A BENCHMARKING SUITE
© Prathmesh Ranaut, 2017
BECHMARK-IPS
© Prathmesh Ranaut, 2017
require "benchmark/ips"
Benchmark.ips do |ips|
ips.report("addition") { 1 + 2 }
end
© Prathmesh Ranaut, 2017
require "benchmark/ips"
Benchmark.ips do |ips|
ips.report("addition") { 1 + 2 }
end
Warming up --------------------------------------
addition 325.015k i/100ms
Calculating -------------------------------------
addition 12.544M (± 8.5%) i/s - 62.403M in 5.012765s
© Prathmesh Ranaut, 2017
class Worker
include Celluloid
def hashed(hash, key)
hash[key]
end
end
# Worker pool of different sizes
pool_10 = Worker.pool(size: 10)
pool_100 = Worker.pool(size: 100)
hash = {}
ENTRIES = 10_000
TESTS = 100_000
# Using a constant key, to derive consistent benchmarking results
KEY = 500
# Populate hash array
ENTRIES.times do |i|
hash[i] = i
end
Benchmark.bmbm do |ips|
puts "Finding the key : #{KEY}"
ips.report("pool - 10") do
TESTS.times do
pool_10.async.hashed(hash, KEY)
end
end
ips.report("pool - 100") do
TESTS.times do
pool_100.async.hashed(hash, KEY)
end
end
end
© Prathmesh Ranaut, 2017
TIP #2
© Prathmesh Ranaut, 2017
UPGRADE RUBY
© Prathmesh Ranaut, 2017
RUBY 1.9
> YARV
© Prathmesh Ranaut, 2017
RUBY 1.9
> YARV
RUBY 2.0
> Copy-on-Write
© Prathmesh Ranaut, 2017
RUBY 2.1
> Generation GC
RUBY 2.4
> Improves the speed to access an instance variable
© Prathmesh Ranaut, 2017
TIP #3
© Prathmesh Ranaut, 2017
TRY ANOTHER IMPLEMENTATION OF
RUBY
© Prathmesh Ranaut, 2017
RUBY 2.3 VS JRUBY
RUBY 2.3
Calculating -------------------------------------
addition 12.544M (± 8.5%) i/s - 62.403M
JRUBY
Calculating -------------------------------------
addition 22.929M (± 9.3%) i/s - 113.127M
© Prathmesh Ranaut, 2017
TIP #4
© Prathmesh Ranaut, 2017
PROFILE YOUR METHODS
© Prathmesh Ranaut, 2017
TIP #5
© Prathmesh Ranaut, 2017
FIGURE OUT THE BOTTLENECK
I/O OR CPU OR MEMORY
© Prathmesh Ranaut, 2017
TIP #6
© Prathmesh Ranaut, 2017
SWITCH TO ELIXIR
© Prathmesh Ranaut, 2017
TRY MULTITHREADING
© Prathmesh Ranaut, 2017
TOOLS
THAT MAKE MY LIFE EASIER
© Prathmesh Ranaut, 2017
METHOD PROFILER
HTTPS://GITHUB.COM/CHANGE/METHOD_PROFILER
© Prathmesh Ranaut, 2017
profiler = MethodProfiler.observe(BazingaClass)
# Do stuff with the BazingaClass
puts profiler.report
© Prathmesh Ranaut, 2017
© Prathmesh Ranaut, 2017
KCACHEGRIND
HTTPS://KCACHEGRIND.GITHUB.IO/
© Prathmesh Ranaut, 2017
© Prathmesh Ranaut, 2017
RUBYPROF
HTTPS://GITHUB.COM/RUBY-PROF/RUBY-PROF
© Prathmesh Ranaut, 2017
require 'ruby-prof'
# profile the code
result = RubyProf.profile do
# ... code to profile ...
end
# print a graph profile to text
printer = RubyProf::GraphPrinter.new(result)
printer.print(STDOUT, {})
© Prathmesh Ranaut, 2017
© Prathmesh Ranaut, 2017
ObjectSpace.count_objects
© Prathmesh Ranaut, 2017
{
:TOTAL=>30165,
:FREE=>2216,
:T_OBJECT=>928,
:T_CLASS=>574,
:T_MODULE=>38,
:T_FLOAT=>4,
:T_STRING=>13182,
:T_REGEXP=>77,
:T_ARRAY=>2715,
:T_HASH=>88,
:T_STRUCT=>3,
:T_BIGNUM=>2,
:T_FILE=>30,
:T_DATA=>363,
:T_MATCH=>233,
:T_COMPLEX=>1,
:T_SYMBOL=>6,
:T_IMEMO=>4530,
:T_NODE=>5138,
:T_ICLASS=>37
}
© Prathmesh Ranaut, 2017
DTRACE
© Prathmesh Ranaut, 2017
THANK YOU
&
QUESTIONSHELLO@PRATHMESHRANAUT.COM
HTTPS://TWITTER.COM/PRATHMESHRANAUT
© Prathmesh Ranaut, 2017

More Related Content

Similar to Performance Optimization in Ruby

RHP like Rapid Home Provisioning
RHP like Rapid Home ProvisioningRHP like Rapid Home Provisioning
RHP like Rapid Home Provisioning
Daniele Massimi
 
Developing Web Services from Scratch - For DBAs and Database Developers
Developing Web Services from Scratch - For DBAs and Database DevelopersDeveloping Web Services from Scratch - For DBAs and Database Developers
Developing Web Services from Scratch - For DBAs and Database Developers
Revelation Technologies
 
Page Performance
Page PerformancePage Performance
Page Performance
stk_jj
 
ROMA NOVIKOV, BAQ, "Prometheus + grafana based monitoring"
ROMA NOVIKOV, BAQ, "Prometheus + grafana based monitoring"ROMA NOVIKOV, BAQ, "Prometheus + grafana based monitoring"
ROMA NOVIKOV, BAQ, "Prometheus + grafana based monitoring"
Dakiry
 
Downsampling your data October 2017
Downsampling your data October 2017Downsampling your data October 2017
Downsampling your data October 2017
InfluxData
 
CTD406_Measuring the Internet in Real Time
CTD406_Measuring the Internet in Real TimeCTD406_Measuring the Internet in Real Time
CTD406_Measuring the Internet in Real Time
Amazon Web Services
 
Three in12c: Row Limiting, PL/SQL With SQL and Temporal Validity
Three in12c: Row Limiting, PL/SQL With SQL and Temporal ValidityThree in12c: Row Limiting, PL/SQL With SQL and Temporal Validity
Three in12c: Row Limiting, PL/SQL With SQL and Temporal Validity
Trivadis
 
RedisConf17 - Amadeus - Redis-Cluster operator
RedisConf17 - Amadeus - Redis-Cluster operatorRedisConf17 - Amadeus - Redis-Cluster operator
RedisConf17 - Amadeus - Redis-Cluster operator
Redis Labs
 
Introduction to Performance Testing & Loadrunner
Introduction to Performance Testing & LoadrunnerIntroduction to Performance Testing & Loadrunner
Introduction to Performance Testing & Loadrunner
Aisha Mazhar
 
[RedisConf17] Redis Cluster Operability with Kubernetes and OpenShift - Cedri...
[RedisConf17] Redis Cluster Operability with Kubernetes and OpenShift - Cedri...[RedisConf17] Redis Cluster Operability with Kubernetes and OpenShift - Cedri...
[RedisConf17] Redis Cluster Operability with Kubernetes and OpenShift - Cedri...
Cedric Lamoriniere
 
Network & Application Performance Monitoring - Troubleshooting HTTP Applicati...
Network & Application Performance Monitoring - Troubleshooting HTTP Applicati...Network & Application Performance Monitoring - Troubleshooting HTTP Applicati...
Network & Application Performance Monitoring - Troubleshooting HTTP Applicati...
PerformanceVision (previously SecurActive)
 
Advanced Patterns in Microservices Implementation with Amazon ECS - CON402 - ...
Advanced Patterns in Microservices Implementation with Amazon ECS - CON402 - ...Advanced Patterns in Microservices Implementation with Amazon ECS - CON402 - ...
Advanced Patterns in Microservices Implementation with Amazon ECS - CON402 - ...
Amazon Web Services
 
More tips and tricks for running containers like a pro - Rancher Online MEetu...
More tips and tricks for running containers like a pro - Rancher Online MEetu...More tips and tricks for running containers like a pro - Rancher Online MEetu...
More tips and tricks for running containers like a pro - Rancher Online MEetu...
Shannon Williams
 
Demystifying Web Performance
Demystifying Web PerformanceDemystifying Web Performance
Demystifying Web Performance
Atlassian
 
Oracle BPM Suite Development: Getting Started
Oracle BPM Suite Development: Getting StartedOracle BPM Suite Development: Getting Started
Oracle BPM Suite Development: Getting Started
Revelation Technologies
 
Webinar 2017. Supercharge your analytics with ClickHouse. Vadim Tkachenko
Webinar 2017. Supercharge your analytics with ClickHouse. Vadim TkachenkoWebinar 2017. Supercharge your analytics with ClickHouse. Vadim Tkachenko
Webinar 2017. Supercharge your analytics with ClickHouse. Vadim Tkachenko
Altinity Ltd
 
Orchestrating Big Data pipelines @ Fandom - Krystian Mistrzak Thejas Murthy
Orchestrating Big Data pipelines @ Fandom - Krystian Mistrzak Thejas MurthyOrchestrating Big Data pipelines @ Fandom - Krystian Mistrzak Thejas Murthy
Orchestrating Big Data pipelines @ Fandom - Krystian Mistrzak Thejas Murthy
Evention
 
Rails App performance at the limit - Bogdan Gusiev
Rails App performance at the limit - Bogdan GusievRails App performance at the limit - Bogdan Gusiev
Rails App performance at the limit - Bogdan Gusiev
Ruby Meditation
 
ShadowReader - Serverless load tests for replaying production traffic
ShadowReader - Serverless load tests for replaying production trafficShadowReader - Serverless load tests for replaying production traffic
ShadowReader - Serverless load tests for replaying production traffic
Yuki Sawa
 
Oracle Database Cloud Service - Provisioning Your First DBaaS Instance
Oracle Database Cloud Service - Provisioning Your First DBaaS InstanceOracle Database Cloud Service - Provisioning Your First DBaaS Instance
Oracle Database Cloud Service - Provisioning Your First DBaaS Instance
Revelation Technologies
 

Similar to Performance Optimization in Ruby (20)

RHP like Rapid Home Provisioning
RHP like Rapid Home ProvisioningRHP like Rapid Home Provisioning
RHP like Rapid Home Provisioning
 
Developing Web Services from Scratch - For DBAs and Database Developers
Developing Web Services from Scratch - For DBAs and Database DevelopersDeveloping Web Services from Scratch - For DBAs and Database Developers
Developing Web Services from Scratch - For DBAs and Database Developers
 
Page Performance
Page PerformancePage Performance
Page Performance
 
ROMA NOVIKOV, BAQ, "Prometheus + grafana based monitoring"
ROMA NOVIKOV, BAQ, "Prometheus + grafana based monitoring"ROMA NOVIKOV, BAQ, "Prometheus + grafana based monitoring"
ROMA NOVIKOV, BAQ, "Prometheus + grafana based monitoring"
 
Downsampling your data October 2017
Downsampling your data October 2017Downsampling your data October 2017
Downsampling your data October 2017
 
CTD406_Measuring the Internet in Real Time
CTD406_Measuring the Internet in Real TimeCTD406_Measuring the Internet in Real Time
CTD406_Measuring the Internet in Real Time
 
Three in12c: Row Limiting, PL/SQL With SQL and Temporal Validity
Three in12c: Row Limiting, PL/SQL With SQL and Temporal ValidityThree in12c: Row Limiting, PL/SQL With SQL and Temporal Validity
Three in12c: Row Limiting, PL/SQL With SQL and Temporal Validity
 
RedisConf17 - Amadeus - Redis-Cluster operator
RedisConf17 - Amadeus - Redis-Cluster operatorRedisConf17 - Amadeus - Redis-Cluster operator
RedisConf17 - Amadeus - Redis-Cluster operator
 
Introduction to Performance Testing & Loadrunner
Introduction to Performance Testing & LoadrunnerIntroduction to Performance Testing & Loadrunner
Introduction to Performance Testing & Loadrunner
 
[RedisConf17] Redis Cluster Operability with Kubernetes and OpenShift - Cedri...
[RedisConf17] Redis Cluster Operability with Kubernetes and OpenShift - Cedri...[RedisConf17] Redis Cluster Operability with Kubernetes and OpenShift - Cedri...
[RedisConf17] Redis Cluster Operability with Kubernetes and OpenShift - Cedri...
 
Network & Application Performance Monitoring - Troubleshooting HTTP Applicati...
Network & Application Performance Monitoring - Troubleshooting HTTP Applicati...Network & Application Performance Monitoring - Troubleshooting HTTP Applicati...
Network & Application Performance Monitoring - Troubleshooting HTTP Applicati...
 
Advanced Patterns in Microservices Implementation with Amazon ECS - CON402 - ...
Advanced Patterns in Microservices Implementation with Amazon ECS - CON402 - ...Advanced Patterns in Microservices Implementation with Amazon ECS - CON402 - ...
Advanced Patterns in Microservices Implementation with Amazon ECS - CON402 - ...
 
More tips and tricks for running containers like a pro - Rancher Online MEetu...
More tips and tricks for running containers like a pro - Rancher Online MEetu...More tips and tricks for running containers like a pro - Rancher Online MEetu...
More tips and tricks for running containers like a pro - Rancher Online MEetu...
 
Demystifying Web Performance
Demystifying Web PerformanceDemystifying Web Performance
Demystifying Web Performance
 
Oracle BPM Suite Development: Getting Started
Oracle BPM Suite Development: Getting StartedOracle BPM Suite Development: Getting Started
Oracle BPM Suite Development: Getting Started
 
Webinar 2017. Supercharge your analytics with ClickHouse. Vadim Tkachenko
Webinar 2017. Supercharge your analytics with ClickHouse. Vadim TkachenkoWebinar 2017. Supercharge your analytics with ClickHouse. Vadim Tkachenko
Webinar 2017. Supercharge your analytics with ClickHouse. Vadim Tkachenko
 
Orchestrating Big Data pipelines @ Fandom - Krystian Mistrzak Thejas Murthy
Orchestrating Big Data pipelines @ Fandom - Krystian Mistrzak Thejas MurthyOrchestrating Big Data pipelines @ Fandom - Krystian Mistrzak Thejas Murthy
Orchestrating Big Data pipelines @ Fandom - Krystian Mistrzak Thejas Murthy
 
Rails App performance at the limit - Bogdan Gusiev
Rails App performance at the limit - Bogdan GusievRails App performance at the limit - Bogdan Gusiev
Rails App performance at the limit - Bogdan Gusiev
 
ShadowReader - Serverless load tests for replaying production traffic
ShadowReader - Serverless load tests for replaying production trafficShadowReader - Serverless load tests for replaying production traffic
ShadowReader - Serverless load tests for replaying production traffic
 
Oracle Database Cloud Service - Provisioning Your First DBaaS Instance
Oracle Database Cloud Service - Provisioning Your First DBaaS InstanceOracle Database Cloud Service - Provisioning Your First DBaaS Instance
Oracle Database Cloud Service - Provisioning Your First DBaaS Instance
 

Recently uploaded

Seminar on Distillation study-mafia.pptx
Seminar on Distillation study-mafia.pptxSeminar on Distillation study-mafia.pptx
Seminar on Distillation study-mafia.pptx
Madan Karki
 
CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1
PKavitha10
 
International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...
gerogepatton
 
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
Yasser Mahgoub
 
Hematology Analyzer Machine - Complete Blood Count
Hematology Analyzer Machine - Complete Blood CountHematology Analyzer Machine - Complete Blood Count
Hematology Analyzer Machine - Complete Blood Count
shahdabdulbaset
 
Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...
bijceesjournal
 
Curve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods RegressionCurve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods Regression
Nada Hikmah
 
john krisinger-the science and history of the alcoholic beverage.pptx
john krisinger-the science and history of the alcoholic beverage.pptxjohn krisinger-the science and history of the alcoholic beverage.pptx
john krisinger-the science and history of the alcoholic beverage.pptx
Madan Karki
 
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURSCompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
RamonNovais6
 
BRAIN TUMOR DETECTION for seminar ppt.pdf
BRAIN TUMOR DETECTION for seminar ppt.pdfBRAIN TUMOR DETECTION for seminar ppt.pdf
BRAIN TUMOR DETECTION for seminar ppt.pdf
LAXMAREDDY22
 
Welding Metallurgy Ferrous Materials.pdf
Welding Metallurgy Ferrous Materials.pdfWelding Metallurgy Ferrous Materials.pdf
Welding Metallurgy Ferrous Materials.pdf
AjmalKhan50578
 
Manufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptxManufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptx
Madan Karki
 
The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.
sachin chaurasia
 
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
ydzowc
 
Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...
Prakhyath Rai
 
Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
IJECEIAES
 
Engineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdfEngineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdf
abbyasa1014
 
Generative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of contentGenerative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of content
Hitesh Mohapatra
 
artificial intelligence and data science contents.pptx
artificial intelligence and data science contents.pptxartificial intelligence and data science contents.pptx
artificial intelligence and data science contents.pptx
GauravCar
 
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
Gino153088
 

Recently uploaded (20)

Seminar on Distillation study-mafia.pptx
Seminar on Distillation study-mafia.pptxSeminar on Distillation study-mafia.pptx
Seminar on Distillation study-mafia.pptx
 
CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1
 
International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...
 
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
 
Hematology Analyzer Machine - Complete Blood Count
Hematology Analyzer Machine - Complete Blood CountHematology Analyzer Machine - Complete Blood Count
Hematology Analyzer Machine - Complete Blood Count
 
Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...
 
Curve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods RegressionCurve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods Regression
 
john krisinger-the science and history of the alcoholic beverage.pptx
john krisinger-the science and history of the alcoholic beverage.pptxjohn krisinger-the science and history of the alcoholic beverage.pptx
john krisinger-the science and history of the alcoholic beverage.pptx
 
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURSCompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
 
BRAIN TUMOR DETECTION for seminar ppt.pdf
BRAIN TUMOR DETECTION for seminar ppt.pdfBRAIN TUMOR DETECTION for seminar ppt.pdf
BRAIN TUMOR DETECTION for seminar ppt.pdf
 
Welding Metallurgy Ferrous Materials.pdf
Welding Metallurgy Ferrous Materials.pdfWelding Metallurgy Ferrous Materials.pdf
Welding Metallurgy Ferrous Materials.pdf
 
Manufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptxManufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptx
 
The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.
 
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
 
Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...
 
Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
 
Engineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdfEngineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdf
 
Generative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of contentGenerative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of content
 
artificial intelligence and data science contents.pptx
artificial intelligence and data science contents.pptxartificial intelligence and data science contents.pptx
artificial intelligence and data science contents.pptx
 
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
 

Performance Optimization in Ruby