SlideShare a Scribd company logo
1 of 29
Niklas Nebel Sun Microsystems PERFORMANCE IMPROVEMENTS IN CALC
Agenda ,[object Object]
Local optimizations
Handling sheets separately
DataPilot performance
Load & save outlook
Introduction and Context
Performance work in all of OOo ,[object Object]
Writer load performance ,[object Object],[object Object],[object Object],[object Object],[object Object]
Recalculation: Up to 20 times faster (extreme case)
Local Optimizations
API Usage When Saving Text Cells ,[object Object]
Single quote character added if text can be parsed as a number
Unnecessary parsing step
Can take up to 17% of CPU time
Querying the Document Null Date ,[object Object]
File format: XML Schema dates ( ≈   ISO 8601)
Utility method for conversion ,[object Object]
Several UNO calls ,[object Object]
10% of CPU time if only date cells are used
Collecting Formatted Cell Ranges ,[object Object]
Keep a list of ranges for each set of formats
Try to join adjacent ranges ,[object Object],[object Object],[object Object]
Formula Optimizations ,[object Object]
Operators, separators, parentheses are not
Reduce case conversion calls ,[object Object],[object Object],[object Object]
Use std::nth_element STL method instead
Faster calculation after loading
Formula Recalculation (1) ,[object Object]

More Related Content

Viewers also liked

Reliable interoperation between OpenOffice & MS office by UOML
Reliable interoperation between OpenOffice & MS office by UOMLReliable interoperation between OpenOffice & MS office by UOML
Reliable interoperation between OpenOffice & MS office by UOML
Alexandro Colorado
 
Walking on water - hot news from the Mac OS X Aqua port
Walking on water - hot news from the Mac OS X Aqua portWalking on water - hot news from the Mac OS X Aqua port
Walking on water - hot news from the Mac OS X Aqua port
Alexandro Colorado
 

Viewers also liked (9)

What open source lovers want?
What open source lovers want?What open source lovers want?
What open source lovers want?
 
Introducing ODF to mobile platforms
Introducing ODF to mobile platformsIntroducing ODF to mobile platforms
Introducing ODF to mobile platforms
 
UX Workshop
UX WorkshopUX Workshop
UX Workshop
 
mproving Impress Through Iterative Design and Development
mproving Impress Through Iterative Design and Developmentmproving Impress Through Iterative Design and Development
mproving Impress Through Iterative Design and Development
 
Open For Business
Open For Business Open For Business
Open For Business
 
Reliable interoperation between OpenOffice & MS office by UOML
Reliable interoperation between OpenOffice & MS office by UOMLReliable interoperation between OpenOffice & MS office by UOML
Reliable interoperation between OpenOffice & MS office by UOML
 
Reviving the BizDev Project
Reviving the BizDev ProjectReviving the BizDev Project
Reviving the BizDev Project
 
Walking on water - hot news from the Mac OS X Aqua port
Walking on water - hot news from the Mac OS X Aqua portWalking on water - hot news from the Mac OS X Aqua port
Walking on water - hot news from the Mac OS X Aqua port
 
Achievements
AchievementsAchievements
Achievements
 

Similar to Performance Improvements

Web scale MySQL at Facebook (Domas Mituzas)
Web scale MySQL at Facebook (Domas Mituzas)Web scale MySQL at Facebook (Domas Mituzas)
Web scale MySQL at Facebook (Domas Mituzas)
Ontico
 
Chapter 04
Chapter 04Chapter 04
Chapter 04
Google
 
Ch10 OS
Ch10 OSCh10 OS
Ch10 OS
C.U
 

Similar to Performance Improvements (20)

Windows
WindowsWindows
Windows
 
Web scale MySQL at Facebook (Domas Mituzas)
Web scale MySQL at Facebook (Domas Mituzas)Web scale MySQL at Facebook (Domas Mituzas)
Web scale MySQL at Facebook (Domas Mituzas)
 
Chapter 04
Chapter 04Chapter 04
Chapter 04
 
Chapter 9 - Virtual Memory
Chapter 9 - Virtual MemoryChapter 9 - Virtual Memory
Chapter 9 - Virtual Memory
 
Comparing sql and nosql dbs
Comparing sql and nosql dbsComparing sql and nosql dbs
Comparing sql and nosql dbs
 
OSCh10
OSCh10OSCh10
OSCh10
 
Ch10 OS
Ch10 OSCh10 OS
Ch10 OS
 
OS_Ch10
OS_Ch10OS_Ch10
OS_Ch10
 
UNC309 - Getting the Most out of Microsoft Exchange Server 2010: Performance ...
UNC309 - Getting the Most out of Microsoft Exchange Server 2010: Performance ...UNC309 - Getting the Most out of Microsoft Exchange Server 2010: Performance ...
UNC309 - Getting the Most out of Microsoft Exchange Server 2010: Performance ...
 
FOWA Scaling The Lamp Stack Workshop
FOWA Scaling The Lamp Stack WorkshopFOWA Scaling The Lamp Stack Workshop
FOWA Scaling The Lamp Stack Workshop
 
Memory comp
Memory compMemory comp
Memory comp
 
Repository performance tuning
Repository performance tuningRepository performance tuning
Repository performance tuning
 
Ms sql server architecture
Ms sql server architectureMs sql server architecture
Ms sql server architecture
 
ikh311-06
ikh311-06ikh311-06
ikh311-06
 
HT2010 Paper Presentation
HT2010 Paper PresentationHT2010 Paper Presentation
HT2010 Paper Presentation
 
08 Operating System Support
08  Operating  System  Support08  Operating  System  Support
08 Operating System Support
 
AWS RDS Migration Tool
AWS RDS Migration Tool AWS RDS Migration Tool
AWS RDS Migration Tool
 
Main Memory Management in Operating System
Main Memory Management in Operating SystemMain Memory Management in Operating System
Main Memory Management in Operating System
 
Chapter 8 - Main Memory
Chapter 8 - Main MemoryChapter 8 - Main Memory
Chapter 8 - Main Memory
 
Vam: A Locality-Improving Dynamic Memory Allocator
Vam: A Locality-Improving Dynamic Memory AllocatorVam: A Locality-Improving Dynamic Memory Allocator
Vam: A Locality-Improving Dynamic Memory Allocator
 

More from Alexandro Colorado

ChamiloCon: Recursos de Software Libre
ChamiloCon: Recursos de Software Libre ChamiloCon: Recursos de Software Libre
ChamiloCon: Recursos de Software Libre
Alexandro Colorado
 
Introducción al curso de Extensiones de OpenOffice
Introducción al curso de Extensiones de OpenOfficeIntroducción al curso de Extensiones de OpenOffice
Introducción al curso de Extensiones de OpenOffice
Alexandro Colorado
 

More from Alexandro Colorado (20)

Bitcuners revolucion blockchain
Bitcuners revolucion blockchainBitcuners revolucion blockchain
Bitcuners revolucion blockchain
 
Presentacion Krita
Presentacion KritaPresentacion Krita
Presentacion Krita
 
Bitcuners porque bitcoins
Bitcuners porque bitcoinsBitcuners porque bitcoins
Bitcuners porque bitcoins
 
ChamiloCon Enseñando con Tecnología
ChamiloCon Enseñando con TecnologíaChamiloCon Enseñando con Tecnología
ChamiloCon Enseñando con Tecnología
 
Curso de desarrollo web para principiantes
Curso de desarrollo web para principiantesCurso de desarrollo web para principiantes
Curso de desarrollo web para principiantes
 
ChamiloCon: Recursos de Software Libre
ChamiloCon: Recursos de Software Libre ChamiloCon: Recursos de Software Libre
ChamiloCon: Recursos de Software Libre
 
Krita - Tu tambien puedes pintar un arbol Feliz
Krita - Tu tambien puedes pintar un arbol FelizKrita - Tu tambien puedes pintar un arbol Feliz
Krita - Tu tambien puedes pintar un arbol Feliz
 
Gobernancia y particionacion en comunidades de Software Libre v2
Gobernancia y particionacion en comunidades de Software Libre v2Gobernancia y particionacion en comunidades de Software Libre v2
Gobernancia y particionacion en comunidades de Software Libre v2
 
gcloud
gcloudgcloud
gcloud
 
Blender - FLISOL Cancun 2014
Blender - FLISOL Cancun 2014Blender - FLISOL Cancun 2014
Blender - FLISOL Cancun 2014
 
The Hitchhicker's Guide to Opensource
The Hitchhicker's Guide to OpensourceThe Hitchhicker's Guide to Opensource
The Hitchhicker's Guide to Opensource
 
OpenERP: El ecosistema de negocios
OpenERP: El ecosistema de negociosOpenERP: El ecosistema de negocios
OpenERP: El ecosistema de negocios
 
Aprendiendo GnuPG
Aprendiendo GnuPGAprendiendo GnuPG
Aprendiendo GnuPG
 
Catalogo decursos
Catalogo decursosCatalogo decursos
Catalogo decursos
 
Practicas virtuales v2.2
Practicas virtuales v2.2Practicas virtuales v2.2
Practicas virtuales v2.2
 
Introducción al curso de Extensiones de OpenOffice
Introducción al curso de Extensiones de OpenOfficeIntroducción al curso de Extensiones de OpenOffice
Introducción al curso de Extensiones de OpenOffice
 
Comunidades software libre
Comunidades software libreComunidades software libre
Comunidades software libre
 
Practicas virtuales v2
Practicas virtuales v2Practicas virtuales v2
Practicas virtuales v2
 
Practicas virtuales
Practicas virtualesPracticas virtuales
Practicas virtuales
 
Economia digital
Economia digitalEconomia digital
Economia digital
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

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
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
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
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
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...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
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
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
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
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
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
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
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
 

Performance Improvements