| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
Also, define object.__init__() (semantically empty, purely CPython compat
measure). Addresses #520.
|
|\
| |
| | |
Allow compilation of unix port under clang on OS X
|
| |
| |
| |
| | |
On Mac OS "python3 test/basics/memoryerror.py" never runs out of memory, the process is frozen by the os before.
|
| |
| |
| |
| | |
Now case of subclassing tuple works, and list is broken, see comments.
|
| | |
|
| | |
|
| |
| |
| |
| | |
This time, in mp_seq_cmp_bytes(). How many more cases are still lurking?
|
| |
| |
| |
| | |
sep=None is TODO.
|
| | |
|
| |
| |
| |
| | |
Addresses issue #610.
|
|/
|
|
| |
Infra for counts of other types is there, need last mile to be implemented.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
tests: Fix handling of newlines from expected output files on windows
|
| | |
|
|/
|
|
|
|
| |
This is not fully correct re: error handling, because we should check that
that types are used consistently (only str's or only bytes), but magically
makes lot of functions support bytes.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Two things are handled here: allow to compare native subtypes of tuple,
e.g. namedtuple (TODO: should compare type too, currently compared
duck-typedly by content). Secondly, allow user sunclasses of tuples
(and its subtypes) be compared either. "Magic" I did previously in
objtype.c covers only one argument (lhs is many), so we're in trouble
when lhs is native type - there's no other option besides handling
rhs in special manner. Fortunately, this patch outlines approach with
fast path for native types.
|
|
|
|
|
|
|
|
| |
This was hit when trying to make urlparse.py from stdlib run. Took
quite some time to debug.
TODO: Reconsile bound method creation process better, maybe callable is
to generic type to bind at all?
|
| |
|
| |
|
|
|
|
| |
Slice value to assign can be only a list so far too.
|
|
|
|
| |
Includes support for native bases.
|
| |
|
| |
|
| |
|
|
|
|
| |
MicrpPython test should print single "SKIP" line for test to be skipped.
|
|
|
|
|
|
|
|
|
|
|
| |
"object" type in MicroPython currently doesn't implement any methods, and
hopefully, we'll try to stay like that for as long as possible. Even if we
have to add something eventually, look up from there might be handled in
adhoc manner, as last resort (that's not compliant with Python3 MRO, but
we're already non-compliant). Hence: 1) no need to spend type trying to
lookup anything in object; 2) no need to allocate subobject when explicitly
inheriting from object; 3) and having multiple bases inheriting from object
is not a case of incompatible multiple inheritance.
|
|
|
|
| |
Addresses issue #592.
|
| |
|
|
|
|
| |
Should support everything supported by strings.
|
|
|
|
|
|
|
|
|
|
|
| |
You can now do:
X = const(123)
Y = const(456 + X)
and the compiler will replace X and Y with their values.
See discussion in issue #266 and issue #573.
|
| |
|
|
|
|
|
| |
Inspired by discussion in #577. So, in this case of builtin function,
passing args by keyword has less than 1% overhead.
|
|
|
|
|
| |
Passing 3 args with keywords is for example 50% slower than via positional
args.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
... and we have not that bad mapping type after all - lookup time is ~ the
same as in one-attr instance. My namedtuple implementation on the other
hand degrades awfully.
So, need to rework it. First observation is that named tuple fields are
accessed as attributes, so all names are interned at the program start.
Then, really should store field array as qstr[], and do quick 32/64 bit
scan thru it.
|
|
|
|
| |
That's higher than instance field access - behold the power of hashing.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Need to have a policy as to how far we go adding keyword support to
built ins. It's nice to have, and gets better CPython compatibility,
but hurts the micro nature of uPy.
Addresses issue #577.
|
|
|
|
|
| |
Also compared with method abstraction for accessing instance vars -
it's more than 3 times slower than accessing var directly.
|
|
|
|
|
|
|
|
|
|
| |
Motivation is optimizing handling of various constructs as well as
understanding which constructs are more efficient in MicroPython.
More info: http://forum.micropython.org/viewtopic.php?f=3&t=77
Results are wildly unexpected. For example, "optimization" of range
iteration into while loop makes it twice as slow. Generally, the more
bytecodes, the slower the code.
|
| |
|
| |
|