SlideShare uma empresa Scribd logo
1 de 17
jStanley: Placing a Green Thumb on
Java Collections
Rui Pereira*‡, Pedro Simão§†, Jácome Cunha§‡, João Saraiva*‡
http://greenlab.di.uminho.pt* HASLab/INESC Tec
§ NOVA LINCS
‡ Universidade do Minho
† DI, FCT, Universidade NOVA de Lisboa
Portugal
{ruipereira, jacome, jas}@di.uminho.pt, p.simao@campus.fct.unl.pt
ASE 2018 @ Montpellier, France, September 3-7
Going Green 2
+ =
greenlab.di.uminho.pt
Global energy system is unsustainable 3
greenlab.di.uminho.pt
Green Computing
 Caught the attention of many companies allowing them to save:
greenlab.di.uminho.pt
4
“close to 50% of the energy costs of an organization can be
attributed to the IT departments”
- [PICMET, 2009]
“up to 90% of energy used by ICT hardware can be attributed to
software”
- [The Greenhouse Gas Protocol Report, 2013]
Green Software
 Problems (extend to programmers):
 How to analyze
 How to interpret
 How to improve
greenlab.di.uminho.pt
5
Mining questions about software energy consumption
- [MSR’14]
Integrated energy-directed test suite optimization
- [ISTA’14]
Can we save energy by refactoring Java
programs to use different data structure
implementations?
greenlab.di.uminho.pt
6
greenlab.di.uminho.pt
7
 Java Collections Framework (JCF) library
ConcurrentSkipListSet ArrayList ConcurrentHashMap
CopyOnWriteArraySet AttributeList ConcurrentSkipListMap
HashSet CopyOnWriteArrayList HashMap
LinkedHashSet LinkedList Hashtable
TreeSet RoleList IdentityHashMap
RoleUnresolvedList LinkedHashMap
Stack Properties
Vector SimpleBindings
TreeMap
UIDefaults
WeakHashMap
Sets Lists Maps
Towards a Ranking of Java data structures
Design – Data Structures
greenlab.di.uminho.pt
8
add add clear
addAll addAll containsKey
clear add(index) containsValue
contains addAll(index) entrySet
containsAll clear get
iterateAll contains iterateAll
iterator containsAll keySet
remove get put
removeAll indexOf putAll
retainAll iterator remove
toArray lastIndexOf values
listIterator
Continues…
Sets Lists Maps
Towards a Ranking of Java data structures
Design - Methods
greenlab.di.uminho.pt
9
Towards a Ranking of Java data structures
Results (25k pop)
greenlab.di.uminho.pt
10
Towards a Ranking of Java data structures
Optimizing Energy Consumption of Java Programs
greenlab.di.uminho.pt
11
Methodology
1. Compute which collections/methods are used in the programs
2. Look up the appropriate energy tables for the used collections/methods
3. Choose the most energy efficient alternative
Automatically with jStanley
greenlab.di.uminho.pt
12
Validation
greenlab.di.uminho.pt
13
Results
greenlab.di.uminho.pt
14
Conclusion
greenlab.di.uminho.pt
15
 We have presented a tool, jStanley, that can automatically improve Java code
 Improvements include less energy consumption, time, or a combination of both
 It’s a plug-in for Eclipse
 Static analysis, giving results in seconds
 Quick fix suggestions will display how much is the improvement expected to be
 We are working on memory consumption to include in the jStanley
 We will run a broader study
 Measure improvements
 Measure execution time
jStanley: Placing a Green Thumb on
Java Collections
Rui Pereira*‡, Pedro Simão§†, Jácome Cunha§‡, João Saraiva*‡
http://greenlab.di.uminho.pt* HASLab/INESC Tec
§ NOVA LINCS
‡ Universidade do Minho
† DI, FCT, Universidade NOVA de Lisboa
Portugal
{ruipereira, jacome, jas}@di.uminho.pt, p.simao@campus.fct.unl.pt
ASE 2018 @ Montpellier, France, September 3-7
greenlab.di.uminho.pt
17

Mais conteúdo relacionado

Mais procurados

Steve- Fall 2015 Research Poster revision4
Steve- Fall 2015 Research Poster revision4Steve- Fall 2015 Research Poster revision4
Steve- Fall 2015 Research Poster revision4Jeehwan Steve Lee
 
Electrical Audit of Computer Labs on Campus
Electrical Audit of Computer Labs on CampusElectrical Audit of Computer Labs on Campus
Electrical Audit of Computer Labs on CampusMichael Pérez
 
Implementing Workload Postponing In Cloudsim to Maximize Renewable Energy Uti...
Implementing Workload Postponing In Cloudsim to Maximize Renewable Energy Uti...Implementing Workload Postponing In Cloudsim to Maximize Renewable Energy Uti...
Implementing Workload Postponing In Cloudsim to Maximize Renewable Energy Uti...IJERA Editor
 
Scheduling techniques for reducing processor energy use in MacOS
Scheduling techniques for reducing processor energy use in MacOSScheduling techniques for reducing processor energy use in MacOS
Scheduling techniques for reducing processor energy use in MacOSbane5isp
 
ENERGY-EFFICIENT SCHEDULING OF VIRTUAL MACHINES USING ANT COLONY OPTIMIZATIO...
 ENERGY-EFFICIENT SCHEDULING OF VIRTUAL MACHINES USING ANT COLONY OPTIMIZATIO... ENERGY-EFFICIENT SCHEDULING OF VIRTUAL MACHINES USING ANT COLONY OPTIMIZATIO...
ENERGY-EFFICIENT SCHEDULING OF VIRTUAL MACHINES USING ANT COLONY OPTIMIZATIO...Abhishek Panda
 
environmental scivis via dynamic and thematc mapping
environmental scivis via dynamic and thematc mappingenvironmental scivis via dynamic and thematc mapping
environmental scivis via dynamic and thematc mappingNeale Misquitta
 
Towards a Green Ranking for Programming Languages
Towards a Green Ranking for Programming LanguagesTowards a Green Ranking for Programming Languages
Towards a Green Ranking for Programming LanguagesGreenLabAtDI
 
Distributed system
Distributed systemDistributed system
Distributed systemMD Redaan
 
Présentation PowerPoint - Diapositive 1
Présentation PowerPoint - Diapositive 1Présentation PowerPoint - Diapositive 1
Présentation PowerPoint - Diapositive 1butest
 
Energy Wasting Rate as a Metrics for Green Computing and Static Analysis
Energy Wasting Rate as a Metrics for Green Computing and Static AnalysisEnergy Wasting Rate as a Metrics for Green Computing and Static Analysis
Energy Wasting Rate as a Metrics for Green Computing and Static AnalysisJérôme Rocheteau
 
Rhushikesh Ghotkar Mechanical Engineer
Rhushikesh Ghotkar Mechanical EngineerRhushikesh Ghotkar Mechanical Engineer
Rhushikesh Ghotkar Mechanical EngineerRhushikesh Ghotkar
 
Design of Power and Area Efficient Approximate Multipliers
Design of Power and Area Efficient Approximate MultipliersDesign of Power and Area Efficient Approximate Multipliers
Design of Power and Area Efficient Approximate MultipliersJAYAPRAKASH JPINFOTECH
 

Mais procurados (16)

Steve- Fall 2015 Research Poster revision4
Steve- Fall 2015 Research Poster revision4Steve- Fall 2015 Research Poster revision4
Steve- Fall 2015 Research Poster revision4
 
Electrical Audit of Computer Labs on Campus
Electrical Audit of Computer Labs on CampusElectrical Audit of Computer Labs on Campus
Electrical Audit of Computer Labs on Campus
 
Implementing Workload Postponing In Cloudsim to Maximize Renewable Energy Uti...
Implementing Workload Postponing In Cloudsim to Maximize Renewable Energy Uti...Implementing Workload Postponing In Cloudsim to Maximize Renewable Energy Uti...
Implementing Workload Postponing In Cloudsim to Maximize Renewable Energy Uti...
 
Scheduling techniques for reducing processor energy use in MacOS
Scheduling techniques for reducing processor energy use in MacOSScheduling techniques for reducing processor energy use in MacOS
Scheduling techniques for reducing processor energy use in MacOS
 
Can the Cloud Be Green?
Can the Cloud Be Green?Can the Cloud Be Green?
Can the Cloud Be Green?
 
ENERGY-EFFICIENT SCHEDULING OF VIRTUAL MACHINES USING ANT COLONY OPTIMIZATIO...
 ENERGY-EFFICIENT SCHEDULING OF VIRTUAL MACHINES USING ANT COLONY OPTIMIZATIO... ENERGY-EFFICIENT SCHEDULING OF VIRTUAL MACHINES USING ANT COLONY OPTIMIZATIO...
ENERGY-EFFICIENT SCHEDULING OF VIRTUAL MACHINES USING ANT COLONY OPTIMIZATIO...
 
solar air heater Using ANN
solar air heater Using ANNsolar air heater Using ANN
solar air heater Using ANN
 
environmental scivis via dynamic and thematc mapping
environmental scivis via dynamic and thematc mappingenvironmental scivis via dynamic and thematc mapping
environmental scivis via dynamic and thematc mapping
 
Towards a Green Ranking for Programming Languages
Towards a Green Ranking for Programming LanguagesTowards a Green Ranking for Programming Languages
Towards a Green Ranking for Programming Languages
 
Distributed system
Distributed systemDistributed system
Distributed system
 
Poster_Final
Poster_FinalPoster_Final
Poster_Final
 
Analysis of Dynamic Latched Comparator with Reduced Delay and Energy for High...
Analysis of Dynamic Latched Comparator with Reduced Delay and Energy for High...Analysis of Dynamic Latched Comparator with Reduced Delay and Energy for High...
Analysis of Dynamic Latched Comparator with Reduced Delay and Energy for High...
 
Présentation PowerPoint - Diapositive 1
Présentation PowerPoint - Diapositive 1Présentation PowerPoint - Diapositive 1
Présentation PowerPoint - Diapositive 1
 
Energy Wasting Rate as a Metrics for Green Computing and Static Analysis
Energy Wasting Rate as a Metrics for Green Computing and Static AnalysisEnergy Wasting Rate as a Metrics for Green Computing and Static Analysis
Energy Wasting Rate as a Metrics for Green Computing and Static Analysis
 
Rhushikesh Ghotkar Mechanical Engineer
Rhushikesh Ghotkar Mechanical EngineerRhushikesh Ghotkar Mechanical Engineer
Rhushikesh Ghotkar Mechanical Engineer
 
Design of Power and Area Efficient Approximate Multipliers
Design of Power and Area Efficient Approximate MultipliersDesign of Power and Area Efficient Approximate Multipliers
Design of Power and Area Efficient Approximate Multipliers
 

Semelhante a jStanley: Placing a Green Thumb on Java Collections

The Influence of the Java Collection Framework on Overall Energy Consumption
The Influence of the Java Collection Framework on Overall Energy ConsumptionThe Influence of the Java Collection Framework on Overall Energy Consumption
The Influence of the Java Collection Framework on Overall Energy ConsumptionGreenLabAtDI
 
GreenDroid: A Tool for Analysing Power Consumption in the Android Ecosystem
GreenDroid: A Tool for Analysing Power Consumption in the Android EcosystemGreenDroid: A Tool for Analysing Power Consumption in the Android Ecosystem
GreenDroid: A Tool for Analysing Power Consumption in the Android EcosystemGreenLabAtDI
 
Green Computing as an Engineering Discipline
Green Computing as an Engineering DisciplineGreen Computing as an Engineering Discipline
Green Computing as an Engineering DisciplineGreenLabAtDI
 
Automation Enhanced Green Campus Initiative
Automation Enhanced Green Campus InitiativeAutomation Enhanced Green Campus Initiative
Automation Enhanced Green Campus InitiativeIRJET Journal
 
Application of-computational-intelligence-techniques-for-economic-load-dispatch
Application of-computational-intelligence-techniques-for-economic-load-dispatchApplication of-computational-intelligence-techniques-for-economic-load-dispatch
Application of-computational-intelligence-techniques-for-economic-load-dispatchCemal Ardil
 
Green Computing Seminar
Green Computing SeminarGreen Computing Seminar
Green Computing SeminarNikunj_Agrawal
 
An Improvement in Power Management in green Computing using Neural Networks
An Improvement in Power Management in green Computing using Neural NetworksAn Improvement in Power Management in green Computing using Neural Networks
An Improvement in Power Management in green Computing using Neural NetworksIOSR Journals
 
Technologies, Strategies And Algorithm In Green Computing – Solution To Energ...
Technologies, Strategies And Algorithm In Green Computing – Solution To Energ...Technologies, Strategies And Algorithm In Green Computing – Solution To Energ...
Technologies, Strategies And Algorithm In Green Computing – Solution To Energ...IJERA Editor
 
Self-adaptation Approaches for Energy Efficiency
Self-adaptation Approaches for Energy EfficiencySelf-adaptation Approaches for Energy Efficiency
Self-adaptation Approaches for Energy EfficiencyPatricia Lago
 
sustainable computing
sustainable computingsustainable computing
sustainable computingsaimashahab1
 
GurminderBharani_Masters_Thesis
GurminderBharani_Masters_ThesisGurminderBharani_Masters_Thesis
GurminderBharani_Masters_Thesisbharanigurminder
 
HSO: A Hybrid Swarm Optimization Algorithm for Reducing Energy Consumption in...
HSO: A Hybrid Swarm Optimization Algorithm for Reducing Energy Consumption in...HSO: A Hybrid Swarm Optimization Algorithm for Reducing Energy Consumption in...
HSO: A Hybrid Swarm Optimization Algorithm for Reducing Energy Consumption in...TELKOMNIKA JOURNAL
 
Datacenter ISO50001 and CoC
Datacenter ISO50001 and CoCDatacenter ISO50001 and CoC
Datacenter ISO50001 and CoCDidier Monestes
 
CS8078-Green Computing Question Bank
CS8078-Green Computing Question BankCS8078-Green Computing Question Bank
CS8078-Green Computing Question BankGobinath Subramaniam
 
European Green IT Webinar 2014 - Kaliterre (France)
European Green IT Webinar 2014 - Kaliterre (France)European Green IT Webinar 2014 - Kaliterre (France)
European Green IT Webinar 2014 - Kaliterre (France)GreenLabCenter
 

Semelhante a jStanley: Placing a Green Thumb on Java Collections (20)

The Influence of the Java Collection Framework on Overall Energy Consumption
The Influence of the Java Collection Framework on Overall Energy ConsumptionThe Influence of the Java Collection Framework on Overall Energy Consumption
The Influence of the Java Collection Framework on Overall Energy Consumption
 
GreenDroid: A Tool for Analysing Power Consumption in the Android Ecosystem
GreenDroid: A Tool for Analysing Power Consumption in the Android EcosystemGreenDroid: A Tool for Analysing Power Consumption in the Android Ecosystem
GreenDroid: A Tool for Analysing Power Consumption in the Android Ecosystem
 
Green Computing as an Engineering Discipline
Green Computing as an Engineering DisciplineGreen Computing as an Engineering Discipline
Green Computing as an Engineering Discipline
 
Automation Enhanced Green Campus Initiative
Automation Enhanced Green Campus InitiativeAutomation Enhanced Green Campus Initiative
Automation Enhanced Green Campus Initiative
 
Application of-computational-intelligence-techniques-for-economic-load-dispatch
Application of-computational-intelligence-techniques-for-economic-load-dispatchApplication of-computational-intelligence-techniques-for-economic-load-dispatch
Application of-computational-intelligence-techniques-for-economic-load-dispatch
 
Green it
Green itGreen it
Green it
 
Green Computing Seminar
Green Computing SeminarGreen Computing Seminar
Green Computing Seminar
 
An Improvement in Power Management in green Computing using Neural Networks
An Improvement in Power Management in green Computing using Neural NetworksAn Improvement in Power Management in green Computing using Neural Networks
An Improvement in Power Management in green Computing using Neural Networks
 
FINAL
FINALFINAL
FINAL
 
Greencomputing
GreencomputingGreencomputing
Greencomputing
 
Technologies, Strategies And Algorithm In Green Computing – Solution To Energ...
Technologies, Strategies And Algorithm In Green Computing – Solution To Energ...Technologies, Strategies And Algorithm In Green Computing – Solution To Energ...
Technologies, Strategies And Algorithm In Green Computing – Solution To Energ...
 
Self-adaptation Approaches for Energy Efficiency
Self-adaptation Approaches for Energy EfficiencySelf-adaptation Approaches for Energy Efficiency
Self-adaptation Approaches for Energy Efficiency
 
sustainable computing
sustainable computingsustainable computing
sustainable computing
 
5 6
5 65 6
5 6
 
GurminderBharani_Masters_Thesis
GurminderBharani_Masters_ThesisGurminderBharani_Masters_Thesis
GurminderBharani_Masters_Thesis
 
HSO: A Hybrid Swarm Optimization Algorithm for Reducing Energy Consumption in...
HSO: A Hybrid Swarm Optimization Algorithm for Reducing Energy Consumption in...HSO: A Hybrid Swarm Optimization Algorithm for Reducing Energy Consumption in...
HSO: A Hybrid Swarm Optimization Algorithm for Reducing Energy Consumption in...
 
Datacenter ISO50001 and CoC
Datacenter ISO50001 and CoCDatacenter ISO50001 and CoC
Datacenter ISO50001 and CoC
 
CS8078-Green Computing Question Bank
CS8078-Green Computing Question BankCS8078-Green Computing Question Bank
CS8078-Green Computing Question Bank
 
European Green IT Webinar 2014 - Kaliterre (France)
European Green IT Webinar 2014 - Kaliterre (France)European Green IT Webinar 2014 - Kaliterre (France)
European Green IT Webinar 2014 - Kaliterre (France)
 
Presentation
PresentationPresentation
Presentation
 

Mais de Jácome Cunha

Spreadsheet Engineering
Spreadsheet EngineeringSpreadsheet Engineering
Spreadsheet EngineeringJácome Cunha
 
Model-driven Spreadsheets
Model-driven SpreadsheetsModel-driven Spreadsheets
Model-driven SpreadsheetsJácome Cunha
 
Model-Driven Spreadsheet Development
Model-Driven Spreadsheet DevelopmentModel-Driven Spreadsheet Development
Model-Driven Spreadsheet DevelopmentJácome Cunha
 
Energy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming LanguagesEnergy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming LanguagesJácome Cunha
 
Explaining Spreadsheets with Spreadsheets
Explaining Spreadsheets with SpreadsheetsExplaining Spreadsheets with Spreadsheets
Explaining Spreadsheets with SpreadsheetsJácome Cunha
 
Automatically Inferring ClassSheet Models from Spreadsheets
Automatically Inferring ClassSheet Models from SpreadsheetsAutomatically Inferring ClassSheet Models from Spreadsheets
Automatically Inferring ClassSheet Models from SpreadsheetsJácome Cunha
 
On Understanding Data Scientists
On Understanding  Data ScientistsOn Understanding  Data Scientists
On Understanding Data ScientistsJácome Cunha
 
Systematic Spreadsheet Construction Processes @ VL/HCC 2017
Systematic Spreadsheet Construction Processes @ VL/HCC 2017Systematic Spreadsheet Construction Processes @ VL/HCC 2017
Systematic Spreadsheet Construction Processes @ VL/HCC 2017Jácome Cunha
 
Type-Safe Evolution of 
Web Services
Type-Safe Evolution of 
Web ServicesType-Safe Evolution of 
Web Services
Type-Safe Evolution of 
Web ServicesJácome Cunha
 
MDSheet – Model-Driven Spreadsheets
MDSheet – Model-Driven SpreadsheetsMDSheet – Model-Driven Spreadsheets
MDSheet – Model-Driven SpreadsheetsJácome Cunha
 
Spreadsheet Engineering @ OSU - EECS Colloquium - 02/24/14
Spreadsheet Engineering @ OSU - EECS Colloquium - 02/24/14Spreadsheet Engineering @ OSU - EECS Colloquium - 02/24/14
Spreadsheet Engineering @ OSU - EECS Colloquium - 02/24/14Jácome Cunha
 
Summer School DSL 2013 - SpreadSheet Engineering
Summer School DSL 2013 - SpreadSheet EngineeringSummer School DSL 2013 - SpreadSheet Engineering
Summer School DSL 2013 - SpreadSheet EngineeringJácome Cunha
 
Talk at the Joint SSaaPP/FATBIT 2012 Workshop
Talk at the Joint SSaaPP/FATBIT 2012 WorkshopTalk at the Joint SSaaPP/FATBIT 2012 Workshop
Talk at the Joint SSaaPP/FATBIT 2012 WorkshopJácome Cunha
 

Mais de Jácome Cunha (20)

Spreadsheet Engineering
Spreadsheet EngineeringSpreadsheet Engineering
Spreadsheet Engineering
 
Model-driven Spreadsheets
Model-driven SpreadsheetsModel-driven Spreadsheets
Model-driven Spreadsheets
 
Model-Driven Spreadsheet Development
Model-Driven Spreadsheet DevelopmentModel-Driven Spreadsheet Development
Model-Driven Spreadsheet Development
 
Energy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming LanguagesEnergy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming Languages
 
LMCC - 30 Anos
LMCC - 30 AnosLMCC - 30 Anos
LMCC - 30 Anos
 
Explaining Spreadsheets with Spreadsheets
Explaining Spreadsheets with SpreadsheetsExplaining Spreadsheets with Spreadsheets
Explaining Spreadsheets with Spreadsheets
 
Automatically Inferring ClassSheet Models from Spreadsheets
Automatically Inferring ClassSheet Models from SpreadsheetsAutomatically Inferring ClassSheet Models from Spreadsheets
Automatically Inferring ClassSheet Models from Spreadsheets
 
On Understanding Data Scientists
On Understanding  Data ScientistsOn Understanding  Data Scientists
On Understanding Data Scientists
 
Systematic Spreadsheet Construction Processes @ VL/HCC 2017
Systematic Spreadsheet Construction Processes @ VL/HCC 2017Systematic Spreadsheet Construction Processes @ VL/HCC 2017
Systematic Spreadsheet Construction Processes @ VL/HCC 2017
 
Type-Safe Evolution of 
Web Services
Type-Safe Evolution of 
Web ServicesType-Safe Evolution of 
Web Services
Type-Safe Evolution of 
Web Services
 
MDSheet – Model-Driven Spreadsheets
MDSheet – Model-Driven SpreadsheetsMDSheet – Model-Driven Spreadsheets
MDSheet – Model-Driven Spreadsheets
 
Spreadsheet Engineering @ OSU - EECS Colloquium - 02/24/14
Spreadsheet Engineering @ OSU - EECS Colloquium - 02/24/14Spreadsheet Engineering @ OSU - EECS Colloquium - 02/24/14
Spreadsheet Engineering @ OSU - EECS Colloquium - 02/24/14
 
Summer School DSL 2013 - SpreadSheet Engineering
Summer School DSL 2013 - SpreadSheet EngineeringSummer School DSL 2013 - SpreadSheet Engineering
Summer School DSL 2013 - SpreadSheet Engineering
 
Talk at VL/HCC '12
Talk at VL/HCC '12Talk at VL/HCC '12
Talk at VL/HCC '12
 
Talk at QUATIC '12
Talk at QUATIC '12Talk at QUATIC '12
Talk at QUATIC '12
 
Talk at the Joint SSaaPP/FATBIT 2012 Workshop
Talk at the Joint SSaaPP/FATBIT 2012 WorkshopTalk at the Joint SSaaPP/FATBIT 2012 Workshop
Talk at the Joint SSaaPP/FATBIT 2012 Workshop
 
Talk
TalkTalk
Talk
 
Talk at IS-EUD '11
Talk at IS-EUD '11Talk at IS-EUD '11
Talk at IS-EUD '11
 
Talk at EUSPRIG '11
Talk at EUSPRIG '11Talk at EUSPRIG '11
Talk at EUSPRIG '11
 
Talk at VL/HCC '11
Talk at VL/HCC '11Talk at VL/HCC '11
Talk at VL/HCC '11
 

Último

call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 

Último (20)

call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 

jStanley: Placing a Green Thumb on Java Collections

  • 1. jStanley: Placing a Green Thumb on Java Collections Rui Pereira*‡, Pedro Simão§†, Jácome Cunha§‡, João Saraiva*‡ http://greenlab.di.uminho.pt* HASLab/INESC Tec § NOVA LINCS ‡ Universidade do Minho † DI, FCT, Universidade NOVA de Lisboa Portugal {ruipereira, jacome, jas}@di.uminho.pt, p.simao@campus.fct.unl.pt ASE 2018 @ Montpellier, France, September 3-7
  • 2. Going Green 2 + = greenlab.di.uminho.pt
  • 3. Global energy system is unsustainable 3 greenlab.di.uminho.pt
  • 4. Green Computing  Caught the attention of many companies allowing them to save: greenlab.di.uminho.pt 4 “close to 50% of the energy costs of an organization can be attributed to the IT departments” - [PICMET, 2009] “up to 90% of energy used by ICT hardware can be attributed to software” - [The Greenhouse Gas Protocol Report, 2013]
  • 5. Green Software  Problems (extend to programmers):  How to analyze  How to interpret  How to improve greenlab.di.uminho.pt 5 Mining questions about software energy consumption - [MSR’14] Integrated energy-directed test suite optimization - [ISTA’14]
  • 6. Can we save energy by refactoring Java programs to use different data structure implementations? greenlab.di.uminho.pt 6
  • 7. greenlab.di.uminho.pt 7  Java Collections Framework (JCF) library ConcurrentSkipListSet ArrayList ConcurrentHashMap CopyOnWriteArraySet AttributeList ConcurrentSkipListMap HashSet CopyOnWriteArrayList HashMap LinkedHashSet LinkedList Hashtable TreeSet RoleList IdentityHashMap RoleUnresolvedList LinkedHashMap Stack Properties Vector SimpleBindings TreeMap UIDefaults WeakHashMap Sets Lists Maps Towards a Ranking of Java data structures Design – Data Structures
  • 8. greenlab.di.uminho.pt 8 add add clear addAll addAll containsKey clear add(index) containsValue contains addAll(index) entrySet containsAll clear get iterateAll contains iterateAll iterator containsAll keySet remove get put removeAll indexOf putAll retainAll iterator remove toArray lastIndexOf values listIterator Continues… Sets Lists Maps Towards a Ranking of Java data structures Design - Methods
  • 9. greenlab.di.uminho.pt 9 Towards a Ranking of Java data structures Results (25k pop)
  • 11. Optimizing Energy Consumption of Java Programs greenlab.di.uminho.pt 11 Methodology 1. Compute which collections/methods are used in the programs 2. Look up the appropriate energy tables for the used collections/methods 3. Choose the most energy efficient alternative
  • 15. Conclusion greenlab.di.uminho.pt 15  We have presented a tool, jStanley, that can automatically improve Java code  Improvements include less energy consumption, time, or a combination of both  It’s a plug-in for Eclipse  Static analysis, giving results in seconds  Quick fix suggestions will display how much is the improvement expected to be  We are working on memory consumption to include in the jStanley  We will run a broader study  Measure improvements  Measure execution time
  • 16. jStanley: Placing a Green Thumb on Java Collections Rui Pereira*‡, Pedro Simão§†, Jácome Cunha§‡, João Saraiva*‡ http://greenlab.di.uminho.pt* HASLab/INESC Tec § NOVA LINCS ‡ Universidade do Minho † DI, FCT, Universidade NOVA de Lisboa Portugal {ruipereira, jacome, jas}@di.uminho.pt, p.simao@campus.fct.unl.pt ASE 2018 @ Montpellier, France, September 3-7

Notas do Editor

  1. Aware of the energy consumption problem, many times seeking help in resolving this, misconceptions within the programming community as to what causes highenergy consumption, how to solve them a heavy lack of support and knowledge for energy-aware development Even in software testing Image from [http://thevunderkind.com/new-to-coding-dont-know-how-to-pick-your-first-language-let-udacitys-infographic-help-you/]
  2. The most classical way is to separate Implement the interfaces Separation makes sense as each interface is used for distinct properties Elimiated: Job State Reasons (SET) IdentityHashMap (MAP)
  3. CopyOnWriteArraySet was discarded. Did not finish in reasonable amount of time.
  4. LinkedHashSet includes most of the efficient methods But we can also note it has the two most inefficient methods (addAll and containsAll)
  5. Provides analysis with multiple orders of magnituted. Learn how it scales also
  6. RoleUnresolved and AttributeList are the best. Interesting they both extend ArrayList which has less efficient methods, and quite different consumption values. LinkedList is by far the worse
  7. HashTable, LinkedHashMap, Properties contain the most efficient methods, with no red. Once again concurrent fails. Properties is generally used to store project configuration data/settings, yet produced very good results for this simple string value scenario