-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Replace Expat dependency with Sax #246
Conversation
Can you rebase your feature branch onto master so there's only one commit? |
Is this the procedure to do that? http://stackoverflow.com/a/9625775/1385429 |
No worries! I'm learning too. Essentially yes. That's all there is too it; however you may want to use Doing things this way allows you to work on multiple features at once. |
Sounds good. I'm giving it a go now. |
I'm going to need a coach here I'm afraid and I need to be on another job right now. Will try again tomorrow.
|
@devotis So you had 6 commits in master then 3 made in feature-sax. Here's what I did to correct the issue:
During the rebase, it's safe to mark every commit after the first one as s (or squash). Then when you're prompted to edit the history, choose the commit message that states the purpose of the feature branch. In your case it's "remove expat as a dependency and add sax". At this point you'll have to |
@jsdevel YES! You are awesome. I'll make sure to continue reading the tutorials on Git. I guess it's ready to be pulled now. |
@devotis Thanks! I'm still learning too, so I appreciate the opportunity to help. I'm also glad @aheckmann has been requiring rebases to keep history clean. One thing about your commit that I see as an item leftover from the benchmark is your use of arguments. Can you change each instance of: p.onopentag = function(node) {
var nsName = arguments.length === 2 ? arguments[0] : node.name;
var attrs = arguments.length === 2 ? arguments[1] : node.attributes; To this: p.onopentag = function(node) {
var nsName = node.name;
var attrs = node.attributes; |
True. Done. and I rebased again. |
Awesome. I'll pull this into https://github.com/godaddy/node-soap tonight probably. Thanks! |
@devotis I pulled your changes into https://github.com/godaddy/node-soap. Worked great with our other projects so far! Thanks. |
You too. This was inspiring. |
Replace Expat dependency with Sax
Replace Expat dependency with Sax
why was this replaced? we are having performance issues with SAX and Im curious why node-expat was removed? |
As you may have recognized, this PR is more than 2 years old - I don't know exactly why this was changed, but there are chances that the performance issues you're seeing were maybe not present then... Which performance issues have you tracked while using the |
I assume it was probably less about performance and more about not using a native dependency? On our larger SOAP responses, performance of saxjs is more than 5 times slower when compared to easysax or node-expat. We've tried both and now are using a fork with easysax!
|
This is really a huge performance boost 👍 Are you interessted in contributing and send in a PR with the replaced |
@jsdevel I followed your steps. Here's the pull request for my feature branch that's based on the current master of milewise/node-soap. Here I replaced the expat dependency with sax. Refs issue #206