Conversation
CodSpeed Performance ReportMerging #393 will not alter performanceComparing Summary
|
|
Interesting timing, #394 was also just opened that added this after you. I just saw that one first and merged it. In terms of storing py objects that have references to egglog values, this could be done but maybe would be better done by adding support for the container API? That way during rebuilding if you unioned two terms for example, it would know to rebuild that Python value that stored them so they could in turn be unioned. I have been meaning to add support for this for a while, so this could be a good use case for it. I just glanced at the example though, I wasn't sure if that was needed for it. It seems like you are using it for an alternative list implementation? |
|
The example is exploring the ability to write Python logic to expand eclasses by generating equivalent nodes. See the The other thing I wanted to try is have egglog see a simplified representation for MLIR node so that I can still use MLIR to run transformation. MLIR is creating a giant phase ordering problem for us. Maybe I can use egglog to find the best MLIR pass sequence as the default pipeline. Btw, I notice that cloudpickle does not always make the same byte sequence for the same object if the object pickled by-value. This leads to duplicated egglog PyObject nodes even though the underlying py-object is the same. For example, any |
This PR implements
py-to-intandPyObject.to_intso that a Pythonintstored asPyObjectcan be converted into ai64.Reason:
I am exploring (or maybe i'm abusing) the
PyObjectAPI to store Python objects into the EGraph and allowing them to generate equivalances in Python code back into EGraph. See example gist: https://gist.github.com/sklam/f141efe69bf86182ed185274b6648e93