Skip to content

smmap is not marked as Python 3 compatible on PyPi but actually is Python 3 compatible. #20

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

Closed
schryer opened this issue Nov 5, 2014 · 2 comments
Assignees
Milestone

Comments

@schryer
Copy link

schryer commented Nov 5, 2014

I installed smmap in Python 3.4 and ran the tests. They all passed (see below).

Is there another reason why this package does not come up green on this webpage:
http://py3readiness.org/

The authors of GitPython and gitdb claim that they cannot provide Python 3 support
unless smmap is Python 3 compatible, but it already seems to be and thus should be
marked as providing Python 3 support on PyPi.

optimal: Made 100 random single byte accesses to buffer created from <class 'str'> reading a total of 0.000100 mb in 0.282117 s (0.000354 mb/s)
optimal: Made 100 random slice accesses to buffer created from <class 'str'> reading a total of 205.965117 mb in 2.003208 s (102.817655 mb/s)
worst case: Made 100 random single byte accesses to buffer created from <class 'str'> reading a total of 0.000100 mb in 0.009837 s (0.010165 mb/s)
worst case: Made 100 random slice accesses to buffer created from <class 'str'> reading a total of 193.733239 mb in 2.974128 s (65.139504 mb/s)
static optimal: Made 100 random single byte accesses to buffer created from <class 'str'> reading a total of 0.000100 mb in 0.286831 s (0.000349 mb/s)
static optimal: Made 100 random slice accesses to buffer created from <class 'str'> reading a total of 190.569213 mb in 1.856029 s (102.675772 mb/s)
optimal: Made 100 random single byte accesses to buffer created from <class 'int'> reading a total of 0.000100 mb in 0.295136 s (0.000339 mb/s)
optimal: Made 100 random slice accesses to buffer created from <class 'int'> reading a total of 183.239070 mb in 1.812193 s (101.114523 mb/s)
worst case: Made 100 random single byte accesses to buffer created from <class 'int'> reading a total of 0.000100 mb in 0.008187 s (0.012214 mb/s)
worst case: Made 100 random slice accesses to buffer created from <class 'int'> reading a total of 201.191009 mb in 3.076563 s (65.394738 mb/s)
static optimal: Made 100 random single byte accesses to buffer created from <class 'int'> reading a total of 0.000100 mb in 0.295137 s (0.000339 mb/s)
static optimal: Made 100 random slice accesses to buffer created from <class 'int'> reading a total of 191.903437 mb in 1.871780 s (102.524573 mb/s)
..<class 'smmap.mman.StaticWindowMapManager'>: Read 110 mb of memory with 5000 random on cursor initialized with <class 'str'> accesses in 1.002509s (109.761307 mb/s)
<class 'smmap.mman.StaticWindowMapManager'>: Read 67 mb of memory with 5000 random on cursor initialized with <class 'int'> accesses in 0.640364s (105.108681 mb/s)
<class 'smmap.mman.SlidingWindowMapManager'>: Read 190 mb of memory with 5000 random on cursor initialized with <class 'str'> accesses in 2.169544s (87.846437 mb/s)
<class 'smmap.mman.SlidingWindowMapManager'>: Read 190 mb of memory with 5000 random on cursor initialized with <class 'int'> accesses in 2.110421s (90.109472 mb/s)

.......

Ran 9 tests in 21.284s

OK

@Byron Byron self-assigned this Nov 12, 2014
@Byron
Copy link
Member

Byron commented Nov 12, 2014

Confirmed, even though there is a performance regression - python 3 is 7 times slower than python 2.
I am now working on python 3 compatibility and respective fixes, will keep you posted here.

@Byron Byron modified the milestone: 0.8.3 Nov 13, 2014
@Byron
Copy link
Member

Byron commented Nov 13, 2014

A new release was made on pypi, reflecting the py3 compatibility.
The performance regression was fixed, even though py3 is still about 1.5 times slower in handling raw byte data.

@Byron Byron closed this as completed Nov 13, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants