3 ms·
Is your compiler running on an interpreted language? I think to make this sort of product fast requires JIT compiling the users expressions, and doing some sort
by infinite8s 7y ago
Is your compiler running on an interpreted language? I think to make this sort of product fast requires JIT compiling the users expressions, and doing some sort of whole program analysis to pull out the dependencies between cells.
- microcolonel 7y agoI do whole program analysis, and the host is not interpreted. The costs are mostly about the data structures used to store the intermediate values. Automatically selecting whether to make some values contiguous or not is difficult, and the types are a bit complex (basically option types). The sheets I'm working with have around a million expressions, and there are large sparse regions, so the data structures have to be a bit compact.
- vchak1 7y agoI also think it would be valuable to autoconvert long lines (rows or columns) of similar formulas into a mapping on an array. That would require some level of shape analysis on the excel file.
- microcolonel 7y agoThat is in fact the first step, we have around 800k instances, but only around 1500 unique combinations of dependency shape and expression, which makes a big difference.
- infinite8s 7y agoSounds interesting, have you published any more details anywhere?
- microcolonel 7y agoNot yet, gotta do our jobs first, then we can have the candy. :- ) I would like to do a write-up about it at some point though, if for no other reason but to show the Open Document or LibreOffice people what could be improved about the formats.