microsoft / microsoft/mimalloc
Document supported OS, architectures, and compilers
Nessuno ha ancora preso questa issue.
- Lingua principale
- C
- Stelle
- 13.4k
- Fork
- 1.2k
- Merge medio
- 4g 45m
- PR unite (30g)
- 13
Descrizione
mimalloc's README does not contain a list of supported operating systems, CPU architectures, and compilers. For integration with CPython, it would be helpful to document which combinations of OS, CPU, and compiler are officially supported or at least work. Our users run Python on a lot of platforms, some of them are pretty esoteric.
Just to be clear, we do not expect that you add support for all these platforms yourself. For now we want to get a better understanding of support platforms.
I digged into the source code and ran mimalloc through Python buildbot farm. I got mimalloc working on majority of buildbots. The failing builds on some RHEL 7 boxes is caused by outdated GCC. There also seems to be an issue on s390x with one test case that consumes a lot of memory. I'll look into the failing test at a later point in time.
compilers
- GCC >= 4.9
- clang >= 3.6
- MSVC >= 2012 (11.0)
- ICC (successfully tested with 2021.5, earlier might work)
- any other C99 compiler with C11
stdatomic.hor C++11 compiler
platforms
- Windows
- X86
_M_IX86 - X86_64
_M_X64 - ARM64
_M_ARM64
- X86
- Linux
- X86_64
__x86_64__ - i386
__i386__ - ARM
__arm__(minimum__ARM_ARCH__?) - ARM little endian
__ARMEL__ - aarch64
__aarch64__(ARM 64bit, LE and BE?) - PowerPC / PowerPC 64 (
__powerpc__,__ppc__) - s390x (not mentioned, seem to work out of the box)
- more?
- X86_64
- macOS (Darwin)
- X86_64
- M1 (still work in progress?)
- Android (which archs?)
- FreeBSD, NetBSD, OpenBSD (which archs?)
- DragonFly (still buggy?)
Unknown
- MIPS (MIPSEL, MIPS64EL)
- m86k
- PPC64 / PPC64EL (covered by
__ppc__?) - Solaris (Illumos, OpenIndiana), with default CC
- HP-UX, with HP C compiler
- AIX with xlC compiler
- Wind River VxWorks
Unsupported
AIX xlc compiler (13.1, 16) does not support stdatomic.h. It has GCC atomic memory access built-in functions.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia con il README e i controlli della piattaforma e del compilatore nel codice sorgente, quindi confrontali con i risultati del Python buildbot descritti nell’issue. Il lavoro è completato quando il README documenta chiaramente le combinazioni di sistema operativo, architettura e compilatore supportate o testate, distinguendo i casi sconosciuti da quelli non supportati.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- c
- Ambito
- compilers, documentation, operating-systems
- Tipo di issue
- Documentazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 45/100