Forum Discussion

L4L7_53191's avatar
L4L7_53191
Icon for Nimbostratus rankNimbostratus
Jan 13, 2010

pycontrol v2 changes coming

Notice! There may be a slight change coming with pycontrol v2, as Suds has just improved its caching support of XML objects and no longer relies on transport-level caching of objects. This should do two things:

 

 

1)Work around cache errors/bugs in the current implementation.

 

2)Greatly speed up the loading of cached XML objects. They're now converted to pickle files, which is roughly a 2x parsing speed increase.

 

 

I'll need to run through my tests to check for any obvious issues, as well as make a few changes to the module to accommodate the new cache settings if they work well. I'll also add an optional constructor argument that will force a cache bypass if that is what you want to do.

 

 

Please let me know if you have any preferences on the default behavior - should I cache or not cache parsed WSDL objects? I don't see a downside, and I'm currently leaning toward setting a default of cache=True so we can enjoy the performance boost of pre-parsed and pickled WSDLs. If there is an obvious reason not to do this (i.e. to default to cache=False), please let me know.

 

 

I'll report back with any updates, as well as a release of pycontrol v2 with this enhancement.

 

 

-Matt
  • It looks like this new Suds also has significant Sax parsing optimizations as well, which could really help performance with large responses. Good stuff!

     

    -Matt
  • Early testing shows a very significant improvement in performance after upgrading to the 0.3.9 beta version of Suds. Both loading a pickled wsdl object and parsing responses seem much faster. I'll need to run more tests but I should be able to quantify the improvement fairly easily. Also, the changes to pycontrol should be minimal, so I expect to have a new release turned around quickly.

     

     

    -Matt