News for hackers. Stuff that matters.
Re:You Suck at Excel with Joel Spolsky (2015) [video] by imglorp on Thursday September 08, 2016 @08:18AM (#12452256)
I'm curious if that analysis could feed a parallelization step. Then you could offload work chunks to a compute farm.
Re:You Suck at Excel with Joel Spolsky (2015) [video] by doppenhe on Thursday September 08, 2016 @12:26PM (#12454471)
ex Excel PM. There is a project that was between the Excel team and the high performance computing team at Microsoft for exactly this purpose. Not surprisingly mostly used by investment banks and insurance companies. (https://msdn.microsoft.com/en-us/library/ff877825(v=ws.10).a...)
Re:You Suck at Excel with Joel Spolsky (2015) [video] by ricksplat on Thursday September 08, 2016 @08:27AM (#12452326)
I don't think you even need to go that far. Can you optimise your implementation so that parallelisable chunks could run across all your cores? This sounds like the kind of think Excel may even do "automatically" but like many such things you usually need to structure your implementation in a suitable fashion.
Re:You Suck at Excel with Joel Spolsky (2015) [video] by imglorp on Thursday September 08, 2016 @08:37AM (#12452385)
It would be kind sad if MS didn't already do that.
Re:You Suck at Excel with Joel Spolsky (2015) [video] by ddeck on Thursday September 08, 2016 @10:06AM (#12453107)
Excel uses multiple cores for calculations. You can configure how many to prevent it sucking up the entire CPU for long calculations.

It's a pretty easily parallelizable problem since the sheet is just a dependency tree with the cells as nodes.

The build-in functions (e.g. probability distributions etc.) could also be multi-threaded, although I'm not sure if they are. Our external API called from cells was written in C++ and already multi-threaded.

More info here:

https://msdn.microsoft.com/en-us/library/office/bb687899.asp...

Re:You Suck at Excel with Joel Spolsky (2015) [video] by ricksplat on Thursday September 08, 2016 @08:55AM (#12452480)
It's a NP complete problem. What I mean is, there is no generalisable solution to this. Optimising algorithms employed by sophisticated technical users (think `-O`optimisation; Java hotspot) typically employ sets of heuristics that run the code in more optimal ways based on certain patterns. To trigger these you usually have to be aware of them and write your code in a certain way.

Given that Excel isn't really targeted at these kinds of user (heavy lifting typically offloaded to external libraries) it wouldn't be "Sad" if they didn't already do it, and I would in fact be pleasantly surprised. Which is why I'm asking the question.

EDIT: Turns out you're right! https://msdn.microsoft.com/en-us/library/office/bb687899.asp...

Re:You Suck at Excel with Joel Spolsky (2015) [video] by dastbe on Thursday September 08, 2016 @09:17AM (#12452659)

  To trigger these you usually have to be aware of them and write your code in a certain way.
Compiler writers also look for common patterns in people's code and figure out how to optimize them. when you have both years (decades) of legacy code and developers who don't even know what patterns are optimized, you as a compiler writer need to optimize the code that is being written.
Re:You Suck at Excel with Joel Spolsky (2015) [video] by ricksplat on Thursday September 08, 2016 @09:39AM (#12452853)
Yes that's what I meant. Common patterns = Heuristics as a developer you need to be aware of the common patterns the compiler is looking for.