> For the complete documentation index, see [llms.txt](https://wamr.gitbook.io/document/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wamr.gitbook.io/document/wamr-in-practice/features.md).

# Features

In this chapter, you can see the complete list of features that WAMR support. And for each feature, we have an example followed demonstrating the usage of such a feature.

## IWASM features

### Key features

* Full compliant to the W3C WASM MVP
* Small runtime binary size (\~85K for interpreter and \~50K for AOT) and low memory usage
* Near to native speed by AOT and JIT
* Self-implemented AOT module loader to enable AOT work on Linux, Windows, MacOS, Android, SGX, and MCU systems
* Choices of WASM application libc support: the built-in libc subset for the embedded environment or [WASI](https://github.com/WebAssembly/WASI) for the standard libc
* [The simple C APIs to embed WAMR into host environment](/document/wamr-in-practice/tutorial/language-embedding/embed_wamr.md), see [how to integrate WAMR](/document/wamr-in-practice/tutorial/language-embedding/embed_wamr.md) and the [API list](https://github.com/TianlongLiang/wasm-micro-runtime/blob/main/core/iwasm/include/wasm_export.h)
* [The mechanism to export native APIs to WASM applications](/document/wamr-in-practice/features/export_native_api.md), see [how to register native APIs](/document/wamr-in-practice/features/export_native_api.md)
* [Multiple modules as dependencies](/document/wamr-in-practice/features/multi_module.md), ref to [document](/document/wamr-in-practice/features/multi_module.md) and [sample](/document/wamr-in-practice/features/multi_module/multi-module.md)
* [Multi-thread, pthread APIs and thread management](/document/wamr-in-practice/features/pthread_library.md), ref to [document](/document/wamr-in-practice/features/pthread_library.md) and [sample](/document/wamr-in-practice/features/pthread_library/multi-thread.md)
* [Linux SGX (Intel Software Guard Extension) support](/document/wamr-in-practice/features/linux_sgx.md), ref to [document](/document/wamr-in-practice/features/linux_sgx.md)
* [Source debugging support](/document/wamr-in-practice/tutorial/debugging-and-ide-support/source_debugging.md), ref to [document](/document/wamr-in-practice/tutorial/debugging-and-ide-support/source_debugging.md)
* [WAMR-IDE (Experimental)](/document/wamr-in-practice/tutorial/debugging-and-ide-support/wamr-ide.md) to develop WebAssembly applications with build, run and debug support, ref to [document](/document/wamr-in-practice/tutorial/debugging-and-ide-support/wamr-ide.md)
* [XIP (Execution In Place) support](/document/wamr-in-practice/features/xip.md), ref to [document](/document/wamr-in-practice/features/xip.md)
* [Berkeley/Posix Socket support](/document/wamr-in-practice/features/socket_api.md), ref to [document](/document/wamr-in-practice/features/socket_api.md) and [sample](/document/wamr-in-practice/features/socket_api/socket-api.md)
* Language bindings: [Go](/document/wamr-in-practice/tutorial/language-embedding/go.md), [Python](/document/wamr-in-practice/tutorial/language-embedding/python.md)

### WASM post-MVP features

There are many post-MVP features for WASM. We support some of them. You can see the details in [this section](/document/wamr-in-practice/features/demo-examples.md)

* [wasm-c-api](https://github.com/WebAssembly/wasm-c-api)
* [128-bit SIMD](https://github.com/WebAssembly/simd)
* [Reference Types](https://github.com/WebAssembly/reference-types)
* [Non-trapping float-to-int conversions](https://github.com/WebAssembly/nontrapping-float-to-int-conversions)
* [Sign-extension operators](https://github.com/WebAssembly/sign-extension-ops), [Bulk memory operations](https://github.com/WebAssembly/bulk-memory-operations)
* [Multi-value](https://github.com/WebAssembly/multi-value), [Tail-call](https://github.com/WebAssembly/tail-call), [Shared memory](https://github.com/WebAssembly/threads/blob/main/proposals/threads/Overview.md#shared-linear-memory)
