> 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)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://wamr.gitbook.io/document/wamr-in-practice/features.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
