|  | Home | Libraries | People | FAQ | More | 
The implementation uses fcontext_t per default. fcontext_t is based on assembler and not available for all platforms. It provides a much better performance than ucontext_t (the context switch takes two magnitudes of order less CPU cycles; see section performance) and WinFiber.
| ![[Note]](../../../../../../doc/src/images/note.png) | Note | 
|---|---|
| Because the TIB (thread information block on Windows) is not fully described in the MSDN, it might be possible that not all required TIB-parts are swapped. Using WinFiber implementation migh be an alternative. | 
        As an alternative, ucontext_t
        can be used by compiling with BOOST_USE_UCONTEXT
        and b2 property context-impl=ucontext.
        ucontext_t might be available on a broader range of
        POSIX-platforms but has some disadvantages
        (for instance deprecated since POSIX.1-2003, not C99 conform).
      
| ![[Note]](../../../../../../doc/src/images/note.png) | Note | 
|---|---|
| fiber supports Segmented stacks only with ucontext_t as its implementation. | 
        With BOOST_USE_WINFIB and
        b2 property context-impl=winfib
        Win32-Fibers are used as implementation for fiber.
      
| ![[Note]](../../../../../../doc/src/images/note.png) | Note | 
|---|---|
| 
          The first call of fiber
          converts the thread into a Windows fiber by invoking  |