You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGES.rst
+3-2Lines changed: 3 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -9,6 +9,7 @@ New Builtins
9
9
Internals
10
10
=========
11
11
12
+
12
13
* To speed up attributes read, and RAM usage, attributes are now stored in a bitset instead of a tuple of strings.
13
14
* Definitions for symbols ``CurrentContext`` and ``ContextPath[]`` are mirrored in the ``mathics.core.definitions.Definitions`` object for faster access.
14
15
* To speed up the lookup of symbols names, `Definitions` object now have two properties: `current_context` and `context_path`. These properties stores the values of the corresponding symbols in the `builtin` definitions.
@@ -22,8 +23,8 @@ Internals
22
23
* A bug comming from a failure in the order in which `mathics.core.definitions` stores the rules was fixed.
23
24
* `any`/`all` calls were unrolled as loops in Cythonized modules: this avoids the overhead of a function call replacing it by a (C) for loop, which is faster.
24
25
* `BaseExpression.get_head` now avoids building a symbol and then look for its name. It saves two function calls.
25
-
* Now, `SameQ` first checks type, then `id`s, and then names in symbols.
26
-
* In `mathics.builtin.patterns.PatternTest`, if the condition is one of the most used tests (`NumberQ`, `NumericQ`, `StringQ`, etc) the `match` method is overwritten to specialized versions that avoid function calls.
26
+
* Now, ``SameQ`` first checks type, then ``id``s, and then names in symbols.
27
+
* In `mathics.builtin.patterns.PatternTest`, if the condition is one of the most used tests (``NumberQ``, ``NumericQ``, ``StringQ``, etc) the `match` method is overwritten to specialized versions that avoid function calls.
27
28
* in the same aim, `mathics.core.patterns.AtomPattern` now specializes the comparison depending of the `Atom` type.
28
29
* To speed up the Mathics ``Expression`` manipulation code, `Symbol`s objects are now a singleton class. This avoids a lot of unnecesary string comparisons, and calls to ``ensure_context``.
29
30
* To speed up development, you can set ``NO_CYTHON`` to skip Cythonizing Python modules
0 commit comments