Changes between Version 5 and Version 6 of League/Performance


Ignore:
Timestamp:
Aug 29, 2010, 12:36:18 PM (11 years ago)
Author:
vadim.godunko
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • League/Performance

    v5 v6  
    1 = Performance comparison =
     1= Performance =
     2
     3Implementation of Universal_String use several techniques to speedup performance and minimize memory footprint:
     4
     5 - string data stored in UTF-16 encoded form internally, so it occupies two times less memory then Wide_Wide_String for most modern languages.
     6
     7 - use of implicit sharing (also known as copy-on-write) technology allows Universal_String to have constant time of assignment operation.
     8
     9 - use of atomic operations to handle reference counter makes Universal_String as safe in multitasking context as other Ada types.
     10
     11 - use of special algorithms and utilization of SIMD operations (when available) significantly improve performance.
     12
     13== Performance comparison ==
    214
    315Here is comparison of performance between Ada.Strings.Wide_Unbounded and League.Strings packages. Number is a speedup of operations on Universal_String comparing to corresponding operation on Unbounded_Wide_String.