SlideShare uma empresa Scribd logo
1 de 23

      
       1H.com 
      
     
      
       1H.com 
      
     
      
       
       
       Benchmarking the  
       Efficiency of Your Tools 
      
     
      
       Marian Marinov - mm@1h.com 
       Co-founder & CEO of 1H Ltd.

      
       AGENDA 
      
     
      
       ,[object Object],

      
       $  $$  $$$  $$  $ 
      
     
      
       
       If you rate my survey, I'll hook you up with $20 cPCache $$$. 
       
       Go to this address to take the survey: 
       http://go.cpanel.net/b11 
       
       and come up to the podium once you've completed it.

      
       Tools of trade 
      
     
      
       ,[object Object],

      
       Before benchmarking 
      
     
      
       ,[object Object],

      
       Before benchmarking 
      
     
      
       @INC: 
       /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi 
       /usr/lib/perl5/site_perl/5.8.7/i386-linux-thread-multi 
       /usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi 
       /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi 
       /usr/lib/perl5/site_perl/5.8.8 
       /usr/lib/perl5/site_perl/5.8.7 
       /usr/lib/perl5/site_perl/5.8.6 
       /usr/lib/perl5/site_perl/5.8.5 
       /usr/lib/perl5/site_perl 
       /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi 
       /usr/lib/perl5/vendor_perl/5.8.7/i386-linux-thread-multi 
       /usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi 
       /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi 
       /usr/lib/perl5/vendor_perl/5.8.8 
       ................

      
       Before benchmarking 
      
     
      
       ,[object Object],

      
       Before benchmarking 
      
     
      
       ,[object Object],

      
       After benchmarking 
      
     
      
       ,[object Object],

      
       Understanding the data 
      
     
      
       ,[object Object],
       332340  1.82s analyze_proc::CORE:match  
       
       ,[object Object],
       1. 332337  1.52s analyze_proc::CORE:match 
       2. 312320  1.52s analyze_proc::CORE:match 
       
       ,[object Object],

      
       file-bench-module.pl 
      
     
      
       #!/usr/bin/perl 
       use strict; 
       use warnings; 
       use File::Util; 
       
       my $dir = '/home/hackman/bench-tests'; 
       my $f = File::Util->new(); 
       foreach my $obj ($f->list_dir($dir)) { 
       print "$obj"; 
       }

      
       file-bench-plain.pl 
      
     
      
       #!/usr/bin/perl 
       use warnings; 
       use strict; 
       
       my $dir = '/home/hackman/bench-tests'; 
       opendir B, $dir; 
       while (my $obj = readdir(B)) { 
       print "$obj"; 
       } 
       closedir B;

      
       file-bench-sub.pl 
      
     
      
       #!/usr/bin/perl 
       use warnings; use strict; 
       my $dir = '/home/hackman/bench-tests'; 
       sub check_dir { 
       my $dir = shift; 
       opendir B, $dir; 
       while (my $obj = readdir(B)) { 
       print "$obj"; } 
       closedir B; 
       } 
       check_dir($dir);

      
       Using a module or our own function 
      
     
      
       ,[object Object],
       real 0.067 user 0.059 sys 0.008 - hotstare 
       real 0.030 user 0.017 sys 0.013 - beast 
       real 0.013 user 0.007 sys 0.002 - vm on beast 
       real 0.031 user 0.020 sys 0.005 - remote to beast 
       ,[object Object],
       real 0.019 user 0.015 sys 0.004 - hotstare 
       real 0.006 user 0.003 sys 0.003 - beast 
       real 0.004 user 0.002 sys 0.001 - vm on beast 
       real 0.012 user 0.004 sys 0.003 - remote to beast 
       ,[object Object],
       real 0.019 user 0.015 sys 0.004 - hotstare 
       real 0.005 user 0.003 sys 0.002 - beast 
       real 0.004 user 0.002 sys 0.001 - vm on beast 
       real 0.011 user 0.004 sys 0.003 - remote to beast

      
       Reading the /proc 
      
     
      
       ,[object Object],
       real 0.066 user 0.058 sys 0.008 - hotstare 
       real 0.013 user 0.010 sys 0.003 - beast 
       real 0.013 user 0.008 sys 0.002 - vm on beast 
       ,[object Object],
       real 0.019 user 0.015 sys 0.004 - hotstare 
       real 0.006 user 0.003 sys 0.003 - beast 
       real 0.006 user 0.002 sys 0.001 - vm on beast 
       ,[object Object],
       real 0.018 user 0.014 sys 0.004 - hotstare 
       real 0.005 user 0.003 sys 0.002 - beast 
       real 0.004 user 0.002 sys 0.001 - vm on beast 
       
       ,[object Object],

      
       Reading of data from files 
      
     
      
       ,[object Object],

      
       A module load times 
      
     
      
       ,[object Object],
       
       $ for i in {1..1000}; do time perl -MFile::Util -e 0; done > results 2>&1 
       $ awk 'simple counters here' results 
       Average  real: 0.060 user: 0.054  sys: 0.006

      
       A module load times 
      
     
      
       $ perl -d:Dependencies -MFile::Util -e 0 
       Devel::Dependencies finds 10 dependencies: 
       /usr/lib/perl5/site_perl/5.8.8/auto/File/Util/autosplit.ix 
       AutoLoader.pm 
       Class/OOorNO.pm 
       Exporter/Heavy.pm 
       Fcntl.pm 
       File/Util.pm 
       XSLoader.pm 
       constant.pm 
       vars.pm 
       warnings/register.pm 
       No DB::DB routine defined at -e line 1.

      
       
      
     
      
       Profile your apps 
      
     
      
     
      
       Devel::NYTProf

      
       ,[object Object],
      
     
      
       ,[object Object],

      
       Conclusions 
      
     
      
       ,[object Object],

      
       Questions 
      
     
      
         ?  ?  ?  ? 
       ?  ?  ?  ?    ?  ? 
       ?  ? ?  ? ?  ?  ? 
       ?    ? ?  ?    ?    ? 
       ?      ?

      
       
       Thank you 
       
       Please visit us at Booth 23 
      
     
      
       Marian Marinov - mm@1h.com 
       Co-founder & CIO at 1H Ltd. 
      
     
      
       1H.com 
      
     
      
       1H.com

Mais conteúdo relacionado

Mais procurados

Mastering Maven 2.0 In 1 Hour V1.3
Mastering Maven 2.0 In 1 Hour V1.3Mastering Maven 2.0 In 1 Hour V1.3
Mastering Maven 2.0 In 1 Hour V1.3Matthew McCullough
 
Getting started with Django 1.8
Getting started with Django 1.8Getting started with Django 1.8
Getting started with Django 1.8rajkumar2011
 
Zend Framework 2 Components
Zend Framework 2 ComponentsZend Framework 2 Components
Zend Framework 2 ComponentsShawn Stratton
 
Deprecated: Foundations of Zend Framework 2
Deprecated: Foundations of Zend Framework 2Deprecated: Foundations of Zend Framework 2
Deprecated: Foundations of Zend Framework 2Adam Culp
 
Introduction To Ant
Introduction To AntIntroduction To Ant
Introduction To AntRajesh Kumar
 
Spl in the wild - zendcon2012
Spl in the wild - zendcon2012Spl in the wild - zendcon2012
Spl in the wild - zendcon2012Elizabeth Smith
 
Last train to php 7
Last train to php 7Last train to php 7
Last train to php 7Damien Seguy
 
How to Reverse Engineer Web Applications
How to Reverse Engineer Web ApplicationsHow to Reverse Engineer Web Applications
How to Reverse Engineer Web ApplicationsJarrod Overson
 
Rest API using Flask & SqlAlchemy
Rest API using Flask & SqlAlchemyRest API using Flask & SqlAlchemy
Rest API using Flask & SqlAlchemyAlessandro Cucci
 
Custom Buildpacks and Data Services
Custom Buildpacks and Data ServicesCustom Buildpacks and Data Services
Custom Buildpacks and Data ServicesTom Kranz
 
How to make your Money Machine with Internet of Things
How to make your Money Machine with Internet of ThingsHow to make your Money Machine with Internet of Things
How to make your Money Machine with Internet of ThingsJeff Prestes
 
A Forgotten HTTP Invisibility Cloak
A Forgotten HTTP Invisibility CloakA Forgotten HTTP Invisibility Cloak
A Forgotten HTTP Invisibility CloakSoroush Dalili
 
Developing IT infrastructures with Puppet
Developing IT infrastructures with PuppetDeveloping IT infrastructures with Puppet
Developing IT infrastructures with PuppetAlessandro Franceschi
 
nullcon 2011 - Reversing MicroSoft patches to reveal vulnerable code
nullcon 2011 - Reversing MicroSoft patches to reveal vulnerable codenullcon 2011 - Reversing MicroSoft patches to reveal vulnerable code
nullcon 2011 - Reversing MicroSoft patches to reveal vulnerable coden|u - The Open Security Community
 

Mais procurados (20)

Mastering Maven 2.0 In 1 Hour V1.3
Mastering Maven 2.0 In 1 Hour V1.3Mastering Maven 2.0 In 1 Hour V1.3
Mastering Maven 2.0 In 1 Hour V1.3
 
Getting started with Django 1.8
Getting started with Django 1.8Getting started with Django 1.8
Getting started with Django 1.8
 
Zend Framework 2 Components
Zend Framework 2 ComponentsZend Framework 2 Components
Zend Framework 2 Components
 
Deprecated: Foundations of Zend Framework 2
Deprecated: Foundations of Zend Framework 2Deprecated: Foundations of Zend Framework 2
Deprecated: Foundations of Zend Framework 2
 
Maven 3.0 at Øredev
Maven 3.0 at ØredevMaven 3.0 at Øredev
Maven 3.0 at Øredev
 
Introduction To Ant
Introduction To AntIntroduction To Ant
Introduction To Ant
 
Spl in the wild - zendcon2012
Spl in the wild - zendcon2012Spl in the wild - zendcon2012
Spl in the wild - zendcon2012
 
Last train to php 7
Last train to php 7Last train to php 7
Last train to php 7
 
How to Reverse Engineer Web Applications
How to Reverse Engineer Web ApplicationsHow to Reverse Engineer Web Applications
How to Reverse Engineer Web Applications
 
Rest API using Flask & SqlAlchemy
Rest API using Flask & SqlAlchemyRest API using Flask & SqlAlchemy
Rest API using Flask & SqlAlchemy
 
JRuby and You
JRuby and YouJRuby and You
JRuby and You
 
Custom Buildpacks and Data Services
Custom Buildpacks and Data ServicesCustom Buildpacks and Data Services
Custom Buildpacks and Data Services
 
How to make your Money Machine with Internet of Things
How to make your Money Machine with Internet of ThingsHow to make your Money Machine with Internet of Things
How to make your Money Machine with Internet of Things
 
Puppet modules for Fun and Profit
Puppet modules for Fun and ProfitPuppet modules for Fun and Profit
Puppet modules for Fun and Profit
 
A Forgotten HTTP Invisibility Cloak
A Forgotten HTTP Invisibility CloakA Forgotten HTTP Invisibility Cloak
A Forgotten HTTP Invisibility Cloak
 
Developing IT infrastructures with Puppet
Developing IT infrastructures with PuppetDeveloping IT infrastructures with Puppet
Developing IT infrastructures with Puppet
 
Php Ppt
Php PptPhp Ppt
Php Ppt
 
nullcon 2011 - Reversing MicroSoft patches to reveal vulnerable code
nullcon 2011 - Reversing MicroSoft patches to reveal vulnerable codenullcon 2011 - Reversing MicroSoft patches to reveal vulnerable code
nullcon 2011 - Reversing MicroSoft patches to reveal vulnerable code
 
Flask Basics
Flask BasicsFlask Basics
Flask Basics
 
Ant tutorial
Ant tutorialAnt tutorial
Ant tutorial
 

Destaque

Academic Ranking of World Universities
Academic Ranking of World UniversitiesAcademic Ranking of World Universities
Academic Ranking of World UniversitiesAnkur Pandey
 
38 influence of wcag rules on academic websites rankings
38 influence of wcag rules on academic websites rankings38 influence of wcag rules on academic websites rankings
38 influence of wcag rules on academic websites rankingsAEGIS-ACCESSIBLE Projects
 
Secrets of a world class institution- real story
Secrets of a world class institution- real storySecrets of a world class institution- real story
Secrets of a world class institution- real storySoumik Ganguly
 
Performance tests with ssbench. Swift. OpenStack
Performance tests with ssbench. Swift. OpenStackPerformance tests with ssbench. Swift. OpenStack
Performance tests with ssbench. Swift. OpenStackKsenia Demina
 
Benchmarking For Best Practice
Benchmarking For Best PracticeBenchmarking For Best Practice
Benchmarking For Best PracticeMichael Barger
 

Destaque (8)

Academic Ranking of World Universities
Academic Ranking of World UniversitiesAcademic Ranking of World Universities
Academic Ranking of World Universities
 
ARWU 2010
ARWU 2010ARWU 2010
ARWU 2010
 
38 influence of wcag rules on academic websites rankings
38 influence of wcag rules on academic websites rankings38 influence of wcag rules on academic websites rankings
38 influence of wcag rules on academic websites rankings
 
Secrets of a world class institution- real story
Secrets of a world class institution- real storySecrets of a world class institution- real story
Secrets of a world class institution- real story
 
Performance tests with ssbench. Swift. OpenStack
Performance tests with ssbench. Swift. OpenStackPerformance tests with ssbench. Swift. OpenStack
Performance tests with ssbench. Swift. OpenStack
 
Getput suite
Getput suiteGetput suite
Getput suite
 
Benchmarking For Best Practice
Benchmarking For Best PracticeBenchmarking For Best Practice
Benchmarking For Best Practice
 
Benchmarking
BenchmarkingBenchmarking
Benchmarking
 

Semelhante a Benchmarking the Efficiency of Your Tools

Profiling php applications
Profiling php applicationsProfiling php applications
Profiling php applicationsJustin Carmony
 
Sonar - the ring to rule them all
Sonar - the ring to rule them allSonar - the ring to rule them all
Sonar - the ring to rule them allSebastian Marek
 
Effizientere WordPress-Plugin-Entwicklung mit Softwaretests
Effizientere WordPress-Plugin-Entwicklung mit SoftwaretestsEffizientere WordPress-Plugin-Entwicklung mit Softwaretests
Effizientere WordPress-Plugin-Entwicklung mit SoftwaretestsDECK36
 
Integration Testing with Behat drupal
Integration Testing with Behat drupalIntegration Testing with Behat drupal
Integration Testing with Behat drupalOscar Merida
 
Ein Stall voller Trüffelschweine - (PHP-)Profiling-Tools im Überblick
Ein Stall voller Trüffelschweine - (PHP-)Profiling-Tools im ÜberblickEin Stall voller Trüffelschweine - (PHP-)Profiling-Tools im Überblick
Ein Stall voller Trüffelschweine - (PHP-)Profiling-Tools im Überblickrenebruns
 
Performance profiling and testing of symfony application 2
Performance profiling and testing of symfony application 2Performance profiling and testing of symfony application 2
Performance profiling and testing of symfony application 2Andrew Yatsenko
 
Packaging perl (LPW2010)
Packaging perl (LPW2010)Packaging perl (LPW2010)
Packaging perl (LPW2010)p3castro
 
Spring Boot & Actuators
Spring Boot & ActuatorsSpring Boot & Actuators
Spring Boot & ActuatorsVMware Tanzu
 
Docker presentasjon java bin
Docker presentasjon java binDocker presentasjon java bin
Docker presentasjon java binOlve Hansen
 
PHP on Heroku: Deploying and Scaling Apps in the Cloud
PHP on Heroku: Deploying and Scaling Apps in the CloudPHP on Heroku: Deploying and Scaling Apps in the Cloud
PHP on Heroku: Deploying and Scaling Apps in the CloudSalesforce Developers
 
Lean Php Presentation
Lean Php PresentationLean Php Presentation
Lean Php PresentationAlan Pinstein
 
Behavior & Specification Driven Development in PHP - #OpenWest
Behavior & Specification Driven Development in PHP - #OpenWestBehavior & Specification Driven Development in PHP - #OpenWest
Behavior & Specification Driven Development in PHP - #OpenWestJoshua Warren
 
Database as a Service, Collaborate 2016
Database as a Service, Collaborate 2016Database as a Service, Collaborate 2016
Database as a Service, Collaborate 2016Kellyn Pot'Vin-Gorman
 
BlackHat EU 2012 - Zhenhua Liu - Breeding Sandworms: How To Fuzz Your Way Out...
BlackHat EU 2012 - Zhenhua Liu - Breeding Sandworms: How To Fuzz Your Way Out...BlackHat EU 2012 - Zhenhua Liu - Breeding Sandworms: How To Fuzz Your Way Out...
BlackHat EU 2012 - Zhenhua Liu - Breeding Sandworms: How To Fuzz Your Way Out...MindShare_kk
 
What Big Data Folks Need to Know About DevOps
What Big Data Folks Need to Know About DevOpsWhat Big Data Folks Need to Know About DevOps
What Big Data Folks Need to Know About DevOpsMatt Ray
 

Semelhante a Benchmarking the Efficiency of Your Tools (20)

Profiling php applications
Profiling php applicationsProfiling php applications
Profiling php applications
 
Sonar - the ring to rule them all
Sonar - the ring to rule them allSonar - the ring to rule them all
Sonar - the ring to rule them all
 
Mojolicious
MojoliciousMojolicious
Mojolicious
 
Effizientere WordPress-Plugin-Entwicklung mit Softwaretests
Effizientere WordPress-Plugin-Entwicklung mit SoftwaretestsEffizientere WordPress-Plugin-Entwicklung mit Softwaretests
Effizientere WordPress-Plugin-Entwicklung mit Softwaretests
 
Integration Testing with Behat drupal
Integration Testing with Behat drupalIntegration Testing with Behat drupal
Integration Testing with Behat drupal
 
Ein Stall voller Trüffelschweine - (PHP-)Profiling-Tools im Überblick
Ein Stall voller Trüffelschweine - (PHP-)Profiling-Tools im ÜberblickEin Stall voller Trüffelschweine - (PHP-)Profiling-Tools im Überblick
Ein Stall voller Trüffelschweine - (PHP-)Profiling-Tools im Überblick
 
Performance profiling and testing of symfony application 2
Performance profiling and testing of symfony application 2Performance profiling and testing of symfony application 2
Performance profiling and testing of symfony application 2
 
Pentesting iOS Apps
Pentesting iOS AppsPentesting iOS Apps
Pentesting iOS Apps
 
Maven
MavenMaven
Maven
 
Packaging perl (LPW2010)
Packaging perl (LPW2010)Packaging perl (LPW2010)
Packaging perl (LPW2010)
 
Spring Boot & Actuators
Spring Boot & ActuatorsSpring Boot & Actuators
Spring Boot & Actuators
 
RoR guide_p1
RoR guide_p1RoR guide_p1
RoR guide_p1
 
Docker presentasjon java bin
Docker presentasjon java binDocker presentasjon java bin
Docker presentasjon java bin
 
PHP on Heroku: Deploying and Scaling Apps in the Cloud
PHP on Heroku: Deploying and Scaling Apps in the CloudPHP on Heroku: Deploying and Scaling Apps in the Cloud
PHP on Heroku: Deploying and Scaling Apps in the Cloud
 
Lean Php Presentation
Lean Php PresentationLean Php Presentation
Lean Php Presentation
 
Scaling PHP apps
Scaling PHP appsScaling PHP apps
Scaling PHP apps
 
Behavior & Specification Driven Development in PHP - #OpenWest
Behavior & Specification Driven Development in PHP - #OpenWestBehavior & Specification Driven Development in PHP - #OpenWest
Behavior & Specification Driven Development in PHP - #OpenWest
 
Database as a Service, Collaborate 2016
Database as a Service, Collaborate 2016Database as a Service, Collaborate 2016
Database as a Service, Collaborate 2016
 
BlackHat EU 2012 - Zhenhua Liu - Breeding Sandworms: How To Fuzz Your Way Out...
BlackHat EU 2012 - Zhenhua Liu - Breeding Sandworms: How To Fuzz Your Way Out...BlackHat EU 2012 - Zhenhua Liu - Breeding Sandworms: How To Fuzz Your Way Out...
BlackHat EU 2012 - Zhenhua Liu - Breeding Sandworms: How To Fuzz Your Way Out...
 
What Big Data Folks Need to Know About DevOps
What Big Data Folks Need to Know About DevOpsWhat Big Data Folks Need to Know About DevOps
What Big Data Folks Need to Know About DevOps
 

Mais de Marian Marinov

How to implement PassKeys in your application
How to implement PassKeys in your applicationHow to implement PassKeys in your application
How to implement PassKeys in your applicationMarian Marinov
 
Dev.bg DevOps March 2024 Monitoring & Logging
Dev.bg DevOps March 2024 Monitoring & LoggingDev.bg DevOps March 2024 Monitoring & Logging
Dev.bg DevOps March 2024 Monitoring & LoggingMarian Marinov
 
Basic presentation of cryptography mechanisms
Basic presentation of cryptography mechanismsBasic presentation of cryptography mechanisms
Basic presentation of cryptography mechanismsMarian Marinov
 
Microservices: Benefits, drawbacks and are they for me?
Microservices: Benefits, drawbacks and are they for me?Microservices: Benefits, drawbacks and are they for me?
Microservices: Benefits, drawbacks and are they for me?Marian Marinov
 
Introduction and replication to DragonflyDB
Introduction and replication to DragonflyDBIntroduction and replication to DragonflyDB
Introduction and replication to DragonflyDBMarian Marinov
 
Message Queuing - Gearman, Mosquitto, Kafka and RabbitMQ
Message Queuing - Gearman, Mosquitto, Kafka and RabbitMQMessage Queuing - Gearman, Mosquitto, Kafka and RabbitMQ
Message Queuing - Gearman, Mosquitto, Kafka and RabbitMQMarian Marinov
 
How to successfully migrate to DevOps .pdf
How to successfully migrate to DevOps .pdfHow to successfully migrate to DevOps .pdf
How to successfully migrate to DevOps .pdfMarian Marinov
 
How to survive in the work from home era
How to survive in the work from home eraHow to survive in the work from home era
How to survive in the work from home eraMarian Marinov
 
Improve your storage with bcachefs
Improve your storage with bcachefsImprove your storage with bcachefs
Improve your storage with bcachefsMarian Marinov
 
Control your service resources with systemd
 Control your service resources with systemd  Control your service resources with systemd
Control your service resources with systemd Marian Marinov
 
Comparison of-foss-distributed-storage
Comparison of-foss-distributed-storageComparison of-foss-distributed-storage
Comparison of-foss-distributed-storageMarian Marinov
 
Защо и как да обогатяваме знанията си?
Защо и как да обогатяваме знанията си?Защо и как да обогатяваме знанията си?
Защо и как да обогатяваме знанията си?Marian Marinov
 
Securing your MySQL server
Securing your MySQL serverSecuring your MySQL server
Securing your MySQL serverMarian Marinov
 
DoS and DDoS mitigations with eBPF, XDP and DPDK
DoS and DDoS mitigations with eBPF, XDP and DPDKDoS and DDoS mitigations with eBPF, XDP and DPDK
DoS and DDoS mitigations with eBPF, XDP and DPDKMarian Marinov
 
Challenges with high density networks
Challenges with high density networksChallenges with high density networks
Challenges with high density networksMarian Marinov
 
SiteGround building automation
SiteGround building automationSiteGround building automation
SiteGround building automationMarian Marinov
 
Preventing cpu side channel attacks with kernel tracking
Preventing cpu side channel attacks with kernel trackingPreventing cpu side channel attacks with kernel tracking
Preventing cpu side channel attacks with kernel trackingMarian Marinov
 
Managing a lot of servers
Managing a lot of serversManaging a lot of servers
Managing a lot of serversMarian Marinov
 

Mais de Marian Marinov (20)

How to implement PassKeys in your application
How to implement PassKeys in your applicationHow to implement PassKeys in your application
How to implement PassKeys in your application
 
Dev.bg DevOps March 2024 Monitoring & Logging
Dev.bg DevOps March 2024 Monitoring & LoggingDev.bg DevOps March 2024 Monitoring & Logging
Dev.bg DevOps March 2024 Monitoring & Logging
 
Basic presentation of cryptography mechanisms
Basic presentation of cryptography mechanismsBasic presentation of cryptography mechanisms
Basic presentation of cryptography mechanisms
 
Microservices: Benefits, drawbacks and are they for me?
Microservices: Benefits, drawbacks and are they for me?Microservices: Benefits, drawbacks and are they for me?
Microservices: Benefits, drawbacks and are they for me?
 
Introduction and replication to DragonflyDB
Introduction and replication to DragonflyDBIntroduction and replication to DragonflyDB
Introduction and replication to DragonflyDB
 
Message Queuing - Gearman, Mosquitto, Kafka and RabbitMQ
Message Queuing - Gearman, Mosquitto, Kafka and RabbitMQMessage Queuing - Gearman, Mosquitto, Kafka and RabbitMQ
Message Queuing - Gearman, Mosquitto, Kafka and RabbitMQ
 
How to successfully migrate to DevOps .pdf
How to successfully migrate to DevOps .pdfHow to successfully migrate to DevOps .pdf
How to successfully migrate to DevOps .pdf
 
How to survive in the work from home era
How to survive in the work from home eraHow to survive in the work from home era
How to survive in the work from home era
 
Managing sysadmins
Managing sysadminsManaging sysadmins
Managing sysadmins
 
Improve your storage with bcachefs
Improve your storage with bcachefsImprove your storage with bcachefs
Improve your storage with bcachefs
 
Control your service resources with systemd
 Control your service resources with systemd  Control your service resources with systemd
Control your service resources with systemd
 
Comparison of-foss-distributed-storage
Comparison of-foss-distributed-storageComparison of-foss-distributed-storage
Comparison of-foss-distributed-storage
 
Защо и как да обогатяваме знанията си?
Защо и как да обогатяваме знанията си?Защо и как да обогатяваме знанията си?
Защо и как да обогатяваме знанията си?
 
Securing your MySQL server
Securing your MySQL serverSecuring your MySQL server
Securing your MySQL server
 
Sysadmin vs. dev ops
Sysadmin vs. dev opsSysadmin vs. dev ops
Sysadmin vs. dev ops
 
DoS and DDoS mitigations with eBPF, XDP and DPDK
DoS and DDoS mitigations with eBPF, XDP and DPDKDoS and DDoS mitigations with eBPF, XDP and DPDK
DoS and DDoS mitigations with eBPF, XDP and DPDK
 
Challenges with high density networks
Challenges with high density networksChallenges with high density networks
Challenges with high density networks
 
SiteGround building automation
SiteGround building automationSiteGround building automation
SiteGround building automation
 
Preventing cpu side channel attacks with kernel tracking
Preventing cpu side channel attacks with kernel trackingPreventing cpu side channel attacks with kernel tracking
Preventing cpu side channel attacks with kernel tracking
 
Managing a lot of servers
Managing a lot of serversManaging a lot of servers
Managing a lot of servers
 

Último

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 

Último (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 

Benchmarking the Efficiency of Your Tools

  • 1. 1H.com 1H.com Benchmarking the Efficiency of Your Tools Marian Marinov - mm@1h.com Co-founder & CEO of 1H Ltd.
  • 2.
  • 3. $ $$ $$$ $$ $ If you rate my survey, I'll hook you up with $20 cPCache $$$. Go to this address to take the survey: http://go.cpanel.net/b11 and come up to the podium once you've completed it.
  • 4.
  • 5.
  • 6. Before benchmarking @INC: /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.7/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.7/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 ................
  • 7.
  • 8.
  • 9.
  • 10.
  • 11. file-bench-module.pl #!/usr/bin/perl use strict; use warnings; use File::Util; my $dir = '/home/hackman/bench-tests'; my $f = File::Util->new(); foreach my $obj ($f->list_dir($dir)) { print "$obj"; }
  • 12. file-bench-plain.pl #!/usr/bin/perl use warnings; use strict; my $dir = '/home/hackman/bench-tests'; opendir B, $dir; while (my $obj = readdir(B)) { print "$obj"; } closedir B;
  • 13. file-bench-sub.pl #!/usr/bin/perl use warnings; use strict; my $dir = '/home/hackman/bench-tests'; sub check_dir { my $dir = shift; opendir B, $dir; while (my $obj = readdir(B)) { print "$obj"; } closedir B; } check_dir($dir);
  • 14.
  • 15.
  • 16.
  • 17.
  • 18. A module load times $ perl -d:Dependencies -MFile::Util -e 0 Devel::Dependencies finds 10 dependencies: /usr/lib/perl5/site_perl/5.8.8/auto/File/Util/autosplit.ix AutoLoader.pm Class/OOorNO.pm Exporter/Heavy.pm Fcntl.pm File/Util.pm XSLoader.pm constant.pm vars.pm warnings/register.pm No DB::DB routine defined at -e line 1.
  • 19. Profile your apps Devel::NYTProf
  • 20.
  • 21.
  • 22. Questions ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
  • 23. Thank you Please visit us at Booth 23 Marian Marinov - mm@1h.com Co-founder & CIO at 1H Ltd. 1H.com 1H.com

Notas do Editor

  1. \n \n \n \n \n \n
  2. \n \n \n \n This talk was inspired by a talk from Tim Bunce who wrote the NYTProf \n \n I want to share with you, the things I haven't seen in other presentations on the subject. \n \n \n
  3. \n \n \n \n \n
  4. \n \n \n \n For me the most important tools are time, Devel::NYTProf and Devel::Dependencies \n \n \n
  5. \n \n \n \n \n
  6. \n \n \n \n \n
  7. \n \n \n \n \n The interpreter has different compile options which makes it load slower or faster. Linking to more or less libraries. \n \n So this talk is mainly about how to identify what is important \n \n \n \n \n
  8. \n \n \n \n \n Shared resources: \n \n \n \n \n shared memory \n \n \n locks \n \n \n files \n \n \n databases \n \n \n \n \n \n \n
  9. \n \n \n \n \n I/O usage is one of the most misleading factor because on live environments the I/O profile is completely different then on the development and testing systems \n Deployment environment – \n how often the app is executed \n what data it handles \n what is the average load of the machines without running our app \n \n \n \n
  10. \n \n \n \n \n What most ppl forget about this is that the number of executions is not the same and most time they don't take this into account. \n \n \n
  11. \n \n \n \n \n
  12. \n \n \n \n \n
  13. \n \n \n \n \n
  14. \n \n \n \n Most of the ppl will fail to understand the meaning of REALTIME. It is the SUM of USERTIME, SYSTIME and the time it had to wait for other processes to be executed or wait for resources. \n \n Note the difference between the results on beast and on the vm which is running on beast. \n \n \n
  15. \n \n \n \n Note here how there is almost no difference between the beast and its VM here \n \n Different filesystems affect the performance in different ways. \n \n \n
  16. \n \n \n \n \n \n
  17. \n \n \n \n \n \n
  18. \n \n \n \n 2005 - Jean-Louis Leroy – A Timely Start \n \n \n
  19. \n \n \n \n NYTProf shows you the number of calls and the time \n \n inclusive time – includes the time executing the actual sub \n exclusive time – only the time executing the statement \n \n \n
  20. \n \n \n \n \n \n \n \n \n OOP \n \n \n Good for code maintainability \n \n \n Its actually killing performance \n \n \n \n \n Functional \n \n \n Better for performance if not overused \n \n \n Easily lures you in performance traps \n \n \n \n \n Better load time may mean \n \n \n worse CPU or Memory usage \n \n \n \n \n \n \n \n \n
  21. \n \n \n \n Premature optimizations are infecting all of us \n \n Wrongly implemented algorithms or usage of things like for/foreach when you can use while are clear performance hogs. \n \n \n
  22. \n \n \n \n \n
  23. \n \n \n \n \n