Perform build and magnum tuning

Building o//third_party/python now takes 5 seconds on my PC

This change works towards modifying Python to use runtime dispatching
when appropriate. For example, when loading the magnums in the socket
module, it's a good idea to check if the magnum is zero, because that
means the local system platform doesn't support it.
This commit is contained in:
Justine Tunney 2021-08-10 10:26:13 -07:00
parent ee7e296339
commit d26d7ae0e4
1028 changed files with 6576 additions and 172777 deletions

View file

@ -1,3 +1,9 @@
#ifndef COSMOPOLITAN_THIRD_PARTY_PYTHON_MODULES_ROTATINGTREE_H_
#define COSMOPOLITAN_THIRD_PARTY_PYTHON_MODULES_ROTATINGTREE_H_
#if !(__ASSEMBLER__ + __LINKER__ + 0)
COSMOPOLITAN_C_START_
/* clang-format off */
/* "Rotating trees" (Armin Rigo)
*
* Google "splay trees" for the general idea.
@ -8,8 +14,6 @@
* and over again, and this set of keys evolves slowly over time.
*/
#include <stdlib.h>
#define EMPTY_ROTATING_TREE ((rotating_node_t *)NULL)
typedef struct rotating_node_s rotating_node_t;
@ -25,3 +29,7 @@ void RotatingTree_Add(rotating_node_t **root, rotating_node_t *node);
rotating_node_t* RotatingTree_Get(rotating_node_t **root, void *key);
int RotatingTree_Enum(rotating_node_t *root, rotating_tree_enum_fn enumfn,
void *arg);
COSMOPOLITAN_C_END_
#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
#endif /* COSMOPOLITAN_THIRD_PARTY_PYTHON_MODULES_ROTATINGTREE_H_ */