Results 27 comments of Rhys Ulerich

I've also added a Boost.Timer test. Proper dynamic linkage requires use of Boost.System flags in addition to Boost.Timer but I think proper static linkage does not. I just followed Filesystem...

I should mention... The non-determinism isn't an issue because people often `SerializeToString()` twice in succession in one process. It's a problem because it makes it hard to compare the output...

Would you please point me to the location of the static counters in the code? Why are they static? If the counters are controlled an equality check for two ONNX...

My original recreate, serializing twice in succession, would produce a false positive in the event of "static", module-level data. Meaning, some variable in some module that's initialized in a deterministic...

Thanks @xadupre . The uses of `_generate_unique_name` do not explain process-to-process variability because the `existing_names` set would not be carried across multiple processes. I'm referring to call sites: 1. https://github.com/onnx/sklearn-onnx/blob/c730c44fbba7112d4d61a4da76dcb3a5d14c6eee/skl2onnx/common/_topology.py#L671-L680...

I'm not sure what timeline I would be able to get to it, but would you entertain merge requests that gradually remove `id(...)`?

The conflicts here are related to https://github.com/bhurlow/vim-parinfer/pull/55. It should be simple (i.e. fewer lines) to add these new extensions to the defaults after that change landed.

How far down in the compute loops are such casts used? Needing to macro this up for performance has a design smell to it.

Feels odd to need to perform a dynamic cast in a critical compute loop. I'd expect the expensive cast to always be done safely outside the loop. Admittedly they can...

Aight, grain of salt on that benchmark from having read some more critique of it. Comments about why the dynamic cast in the critical section still hold.