performance, parallelization, threading, vectorization

newbie nullzwei via gnumeric-list <[email protected]> Tue, 26 Apr 2022 15:48:03 +0200
Newsgroups gmane.comp.gnome.apps.gnumeric
Message-ID <trinity-67b9bf37-8902-4b85-9337-1912e5da412d-1650980883440@3c-app-gmx-bs64>
--===============6958523999548522597==
Content-Type: text/html; charset=UTF-8

<html><head></head><body><div style="font-family: Verdana;font-size: 12.0px;"><div style="font-family: Verdana;font-size: 12.0px;">
<div style="font-family: Verdana;font-size: 12.0px;">
<div style="font-family: Verdana;font-size: 12.0px;">
<div style="font-family: Verdana;font-size: 12.0px;">&nbsp;<br/>
not the fields i know much about, thus more questions than &#39;issues&#39;:&nbsp;<br/>
&nbsp;<br/>
1.) does gnumeric use parallelization - &#39;threading&#39;? distributing independent tasks on multiple CPU cores? I just spotted that the recalculation of sheets I&#39;m using for performance comparisions is done using mostly only one of the eight cores my machine has. One core - slowly alternating which - is at &#39;full load&#39;, while the others &#39;do something&#39; ( &lt;5% usage each ). ( All within the limitations that I correctly understand the display of &#39;usage&#39; in the taskbar of my XFCE desktop and / or &#39;top&#39; - &#39;1&#39; in a terminal window ).&nbsp;<br/>
&nbsp;<br/>
( The tasks I&#39;m dealing with are not &#39;normal use&#39; but &#39;stressing spreadsheets&#39;, producing 1 Mio random values and metering the time to convert to strings, to get a handle which algorithm performs best. )&nbsp;&nbsp;<br/>
&nbsp;<br/>
Having 1 Mio sets of only two cells where one cell is fully &#39;autonom&#39; and the other only dependent on this one partner, thus one Mio independent &#39;dependency chains&#39;,&nbsp; is a special situation which - IMHO - qualifies very well for threading. And as well qualifies to spot if it is used and how efficiently it works. So I am now curious if gnumeric has omitted a performance factor here, or rather my system or gcc or Linux has weaknesses.&nbsp;<br/>
&nbsp;<br/>
( I know that I can not expect 100% on all cores, they would melt or be slowed down by thermal throtteling. I mean 50% average utilization I have seen before as possible. That would make gnumeric 4 times faster than now? )&nbsp;<br/>
&nbsp;<br/>
2.) and similar - me curious - applies to &#39;vectorization&#39; ( SSE, AVX, ... ). I learned shortly that that is the modern path CPU manufacturers improve performance.&nbsp;<br/>
&nbsp;<br/>
sounds strong for appropriate tasks and code, but blocked for gnumeric as gnumeric sometimes uses &#39;long&#39; values internally also for &#39;double builds&#39; and SSE / AVX in contrast to FPU don&#39;t deal with 80-bit values???<br/>
&nbsp;<br/>
would be very appreciated if any experienced dev can shed some light on these points.&nbsp; :-)&nbsp;</div>
</div>
</div>
</div></div></body></html>

--===============6958523999548522597==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
gnumeric-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/gnumeric-list

--===============6958523999548522597==--