theochem / horton

HORTON: Helpful Open-source Research TOol for N-fermion systems
http://theochem.github.io/horton/
GNU General Public License v3.0
92 stars 40 forks source link

[DO NOT MERGE] Iso_io #270

Closed matt-chan closed 6 years ago

matt-chan commented 6 years ago

Just starting this PR a bit earlier so I can keep track of API changes.

This PR contains an isolated io module.

There are API changes.

Deprecations:

Parameters:

Return values:

Non-API breaking changes:

matt-chan commented 6 years ago

Looks like the overlap code will need to be cython'd after all... cp2k unit tests take 2 minutes alone.

It doesn't look too hard though. 60% of the time is spent in a few simple functions that can be replaced.

horton3

tovrstra commented 6 years ago

I took a quick look at the overlap code and don't see very obvious opportunities to speed things up at the Python level. add_overlap and its internals seem to be the obvious candidates to move to Cython. The files from CP2K have somewhat weird basis sets but the files are certainly realistic.

matt-chan commented 6 years ago

Okay, so it's Cython'd now! Down to 7s for all the unit tests =). It's still somewhat readable I think? It's ready to review @tovrstra.

PS even if it's okay, please don't merge it back in yet!

FarnazH commented 6 years ago

The isolated io module in this branch is now an independent module with Python 2 & 3 compatibility. Please see: https://github.com/theochem/iodata

matt-chan commented 6 years ago

@tovrstra, I'm going to close the PR soon since @FarnazH moved it to a new repo. It's easier to review in this format though. Is there anything you'd like changed before I do it?

matt-chan commented 6 years ago

Closing since it's been moved to https://github.com/theochem/iodata. The code has diverged too much to make changes here feasible.