Skip to content
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

Refactor hash table generation. #23

Merged
merged 4 commits into from
Jul 31, 2015
Merged

Refactor hash table generation. #23

merged 4 commits into from
Jul 31, 2015

Conversation

dpsanders
Copy link
Contributor

This is a drop-in replacement for the previous version except that the exact order
in which each set of indices is generated is changed.

The performance is basically the same as in the previous version.
EDIT: The performance is now significantly better: 8.4s instead of 12s for the first Fateman test on my machine!

Follows on from #22

@dpsanders dpsanders force-pushed the refactor_hash_tables branch 2 times, most recently from c5f37d8 to 97259e0 Compare July 22, 2015 19:47
@lbenet
Copy link
Member

lbenet commented Jul 30, 2015

Can you also rebase this PR?

While I like a lot the new implementation of the tables, I'm checking if it can be optimized a bit more. In my machine, the Fatemann tests (julia 0.4) lasts 3.84 sec, versus Mathematica 3.17, so we are within 20%.

@dpsanders
Copy link
Contributor Author

In my next work I have gained another factor of 2.5 ;) I'll put it up as a new PR, but I am having problems rebasing this one...

@lbenet
Copy link
Member

lbenet commented Jul 30, 2015

Tests are currently failing due to some recent change JuliaLang/julia#12285.

Shall I try to fix this and incorporate the modifications in the tests?

@dpsanders
Copy link
Contributor Author

I have fixed the FactCheck syntax, that has changed from => to -->. However, there is a mess with merge conflicts due to rebasing the previous PRs :/

- Rename generateTables -> generate_tables and refactor to take number of variables and order as arguments

- Refactored hash table generation.

- Removed explicit tests of hash tables since the exact generation has now changed.

- Add blank lines in parameters.jl

- Remove unnecessary information from TaylorSeries.jl

- Make set_variables accept only strings; fix test

- Make index_table an array instead of a dictionary. This significantly improves performance

- Fix bug in generate_tables
Add check to fateman

Refactored fateman
@lbenet lbenet force-pushed the refactor_hash_tables branch from 8b18cbb to fffd0f0 Compare July 31, 2015 17:22
@lbenet
Copy link
Member

lbenet commented Jul 31, 2015

Rebase and squash is done... Tests pass, so I'm merging.

lbenet added a commit that referenced this pull request Jul 31, 2015
@lbenet lbenet merged commit a6b2b7f into master Jul 31, 2015
@lbenet lbenet deleted the refactor_hash_tables branch July 31, 2015 18:17
@lbenet lbenet mentioned this pull request Jul 31, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants