soulcutter/saxerator

Check performance

fanantoxa opened this issue · 4 comments

@soulcutter I've worked with ox some time and it worked better than we can see on benchmark now.
Usually it parse xml in 2 .. 10 times faster. So I think we can have some performance issues here.

You can check other benchmark here: https://gist.github.com/danneu/3977120 .
It's a bit old but numbers really should be like this.
I'll try to update to use our xml example and compare it.

@soulcutter I've found few big performance issues but It's to much to write. Could you sent me your email / skype / whetever to fanantoxa@gmail.com please? We realy have to discuss it first before I make any changes.

Will be reaching out to you on gmail/gchat. I suspect we may have trouble syncing up because of timezones / work hours.

We have a lot of performance issues:

  • Accumulator creates the Builder each time, but it can't be changes because it depend on config
  • Accumulator Hash[*attrs.flatten] this action might be usless
  • Check all code for values assignments that we can avoid
  • Check useless functionality (Check Configuration class for useless functionality)[https://github.com//issues/42]
  • Update ArrayElement to have additional parameter nil to avoid multiple action when creatinc instance of this class
  • Check for other performance issues

@soulcutter I'll added the firs list of issues and will work on that.
Please take a look on (Check Configuration class for useless functionality)[https://github.com//issues/42].
It's kind of road block for refactoring HashBuilder

I believe all of this is addressed. Let's open individual issues / PRs if we run across other wins.