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

Introducing ODF to mobile platforms
Introducing ODF to mobile platformsIntroducing ODF to mobile platforms
Introducing ODF to mobile platformsAlexandro Colorado
 
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 DevelopmentAlexandro Colorado
 
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 UOMLAlexandro 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 portAlexandro 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

Windows
WindowsWindows
WindowsEzzah
 
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
 
Chapter 9 - Virtual Memory
Chapter 9 - Virtual MemoryChapter 9 - Virtual Memory
Chapter 9 - Virtual MemoryWayne Jones Jnr
 
Comparing sql and nosql dbs
Comparing sql and nosql dbsComparing sql and nosql dbs
Comparing sql and nosql dbsVasilios Kuznos
 
Ch10 OS
Ch10 OSCh10 OS
Ch10 OSC.U
 
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 ...Louis Göhl
 
FOWA Scaling The Lamp Stack Workshop
FOWA Scaling The Lamp Stack WorkshopFOWA Scaling The Lamp Stack Workshop
FOWA Scaling The Lamp Stack Workshopdlieberman
 
Repository performance tuning
Repository performance tuningRepository performance tuning
Repository performance tuningJukka Zitting
 
Ms sql server architecture
Ms sql server architectureMs sql server architecture
Ms sql server architectureAjeet Singh
 
HT2010 Paper Presentation
HT2010 Paper PresentationHT2010 Paper Presentation
HT2010 Paper Presentationinakipaz
 
Main Memory Management in Operating System
Main Memory Management in Operating SystemMain Memory Management in Operating System
Main Memory Management in Operating SystemRashmi Bhat
 
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 AllocatorEmery Berger
 

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

Bitcuners revolucion blockchain
Bitcuners revolucion blockchainBitcuners revolucion blockchain
Bitcuners revolucion blockchainAlexandro Colorado
 
ChamiloCon Enseñando con Tecnología
ChamiloCon Enseñando con TecnologíaChamiloCon Enseñando con Tecnología
ChamiloCon Enseñando con TecnologíaAlexandro Colorado
 
Curso de desarrollo web para principiantes
Curso de desarrollo web para principiantesCurso de desarrollo web para principiantes
Curso de desarrollo web para principiantesAlexandro Colorado
 
ChamiloCon: Recursos de Software Libre
ChamiloCon: Recursos de Software Libre ChamiloCon: Recursos de Software Libre
ChamiloCon: Recursos de Software Libre Alexandro Colorado
 
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 FelizAlexandro Colorado
 
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 v2Alexandro Colorado
 
The Hitchhicker's Guide to Opensource
The Hitchhicker's Guide to OpensourceThe Hitchhicker's Guide to Opensource
The Hitchhicker's Guide to OpensourceAlexandro Colorado
 
OpenERP: El ecosistema de negocios
OpenERP: El ecosistema de negociosOpenERP: El ecosistema de negocios
OpenERP: El ecosistema de negociosAlexandro 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 OpenOfficeAlexandro 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

Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

Performance Improvements