Nový způsob uložení dat v Calcu

LibreOffice Kohei Yoshida na LibreOffice Conference představil nový způsob uložení dat v programu Calc. Výsledkem roční usilovné práce, která znamenala přepsat prakticky „každý kout“ programu, je implementace s výrazně vyšší rychlostí, menší spotřebou paměti a vhodná k akceleraci pomocí GPU.  

V LibreOffice se donedávna nacházelo ještě poměrně hodně kódu, jehož historie sahala až do dob balíku StarOffice, který se stal základem OpenOffice.org a následně LibreOffice. Mnoho takového kódu už bylo odstraněno a další postupně mizí a je nahrazován kódem kvalitnějším.

Jednu z takových přestaveb, doslova „od podlahy“, prezentoval na LibreOffice Conference 2013 vývojář Kohei Yoshida z firmy Collabora. Jedná se o nový způsob uložení dat v programu Calc, založený na vícerozměrných datových strukturách.

Nový způsob uložení dat přináší celou řadu výhod. Je rychlejší (zejména při iteraci přes buňky), spotřebovává méně paměti a dá se snadno akcelerovat, a to jak pomocí instrukcí SIMD, tak prostřednictvím OpenCL a běhu na grafickém procesoru. Současně byl pročištěn prakticky celý kód Calcu a odstraněny všelijaké hacky, které se tam kvůli starému datovémo modelu dostaly.

Celé to zabralo rok intenzivní práce, protože v Calcu souvisí s datovými buňkami skoro všechno. Kohei Yoshida pohovořil i o dalších dvou zlepšeních: skupinách vzorců a již zmíněné akceleraci pomocí OpenCL. Skupiny vzorců představují sdílení stejného vzorce mezi buňkami, což opět přináší úsporu paměti a snadnější akceleraci výpočtů; navíc redukuje graf závislosti mezi buňkami, čili jde o další zlepšení výkonu.

Co se týká akcelerace s využitím OpenCL a výpočtů na grafických procesorech, Markus Mohrhard implementoval GUI pro nastavení, včetně detekce zařízení schopných takovou akceleraci zajistit.

(Jako ve škole) Průměr: 1.20 | Hodnotilo: 5
 

Komentáře

user avatar Petr Valach
Odpovědět
Nový způsob uložení dat v Calcu
27. 09. 2013, 17:30:14
To je úžasná zpráva. Calc se tak stane vážným konkurentem Excelu.
user avatar imcon
Odpovědět
Nový způsob uložení dat v Calcu
4. 10. 2013, 12:09:20
Velmi zajímavé,
kdy bude promítnut vývoj do vydání LO? Nemáte někdo zprávu?
Jedním velkým problémem Calcu je jeho neuvěřitelná línost, obzvláště při ukládání načítání souborů, daná pravděpodobně neefektivními XML parsery.
Otevření souboru či uložení souboru nám tak trvá někdy i 10 minut na rychlém počítači (SSD HDD, to ale výkon neovlivňuje), v jednoduché tabulce je cca 120 000 řádků.
Uvidíme, jestli nový datový model urychlí také ukládání/načítání.
user avatar Lukáš Jelínek
Odpovědět
Re:Nový způsob uložení dat v Calcu
4. 10. 2013, 12:51:44
Podle všeho by to mělo být už ve verzi 4.2. Ještě to ale není definitivní - ke zmrazení podoby verze dojde až koncem listopadu, vydání nové verze se pak plánuje na přelom ledna a února 2014.
user avatar Petr Valach
Odpovědět
Nový způsob uložení dat v Calcu
12. 01. 2014, 15:54:55
Jen připomínám, že podpora grafického procesoru se musí zapnout. Jak, to se dočtete v přehledu novinek LO 4.2.

Přidat názor

 

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích najdete v nápovědě. Diskuzi můžete sledovat pomocí RSS kanálu.

 
Lukáš Jelínek

Lukáš Jelínek

Dlouholetý člen autorského týmu LinuxEXPRESu a OpenOffice.cz. Vystudoval FEL ČVUT v oboru Výpočetní technika. Žije v Kutné Hoře a podniká v oblasti informačních technologií. Ve volném čase rád fotografuje, natáčí a stříhá video, občas se věnuje powerkitingu a na prahu čtyřicítky začal hrát tenis.

 
 
 
woo jaw demo hz