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

Versions & Releases #13

Open
CrazyPython opened this issue Aug 9, 2016 · 5 comments
Open

Versions & Releases #13

CrazyPython opened this issue Aug 9, 2016 · 5 comments

Comments

@CrazyPython
Copy link
Collaborator

My idea for the goals of (the short-term) v0.1α:

  • Working
  • Decent performance (< 80ns, since C++)
  • Simple API that we're satisfied with and don't want to change (important!)

Non-goals:

  • Have tests
  • Support C or C++98

v1.0:

  • All the milestone goals I created. This includes tests, Continuous Integration, Website, Contributing.md, etc.
  • Fast performance, <X ns.

Releases 0.2 - 1.0 should try to achieve higher performance and move towards the milestone goals.

What should be the performance goals though? C++ is inherently faster than Python so I think we should be able to achieve under 40 ns. Better first whip up a decently fast mock and see how fast it is.

@CrazyPython CrazyPython added design and removed design labels Aug 9, 2016
@CrazyPython CrazyPython added this to the Preliminary design milestone Aug 9, 2016
@casperdcl
Copy link
Member

performance is probably a non-issue. I can't see this taking more than 10ns/it. Certainly not in the short term where we'll only have basic features. C support as I mentioned elsewhere is going to be a completely different repo (tqdm.c) that you guys are all welcome to create and manage.

@CrazyPython
Copy link
Collaborator Author

@casperdcl One of the selling points of python tqdm was speed. C++ is faster so to maintain the same relative speediness we'll need to reduce nanoseconds/iteration to C++ fast, vs. Python fast.

@casperdcl
Copy link
Member

casperdcl commented Sep 3, 2016

from cpp test:

ye moste pythonic range(), auto type inference
100%|#############| 4095/4095 [00:00<00:00, 11062933.00it/s]

python equivalent:

>>> import tqdm; [0 for _ in tqdm.trange(0, 8192, 2)]
100%|██████████| 4096/4096 [00:00<00:00, 4790816.84it/s]

@CrazyPython
Copy link
Collaborator Author

@casperdcl 2.3x faster. Good. 😃

@casperdcl
Copy link
Member

a bit buggy, tho. 4095 versus 4096. Haven't looked at that yet.

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

No branches or pull requests

2 participants