comp.lang.ada
 help / color / mirror / Atom feed
From: Blady <p.p11@orange.fr>
Subject: [ANN] Release of UXStrings 0.5.0
Date: Fri, 5 May 2023 05:36:42 +0200	[thread overview]
Message-ID: <u31tka$26jou$1@dont-email.me> (raw)

This Ada library, providing Unicode character strings of dynamic length, 
is enriched by a third implementation: UXStrings3 [1] also available on 
Alire [2]. With this latter implementation, the characters are stored in 
Unicode form and the management of dynamic size uses the standard 
Wide_Wide_Unbounded strings library.

Performance with Gnoga [3] is better. UXStrings2 already brought better 
performance in the case of strings only made up of ASCII characters 
(improvement by a factor 2 to 3 compared to UXStrings1). With UXStrings3 
performance in the latter case is still improved (factor 6 to 7 compared 
to UXStrings1) moreover in the case of strings accentuated in French and 
strings containing emojis the process times are also improved (factor 7 
to 8 by compared to UXStrings1 or even more in the case of emojis).

For all cases, the global memory occupation of the Gnoga application is 
generally similar (9 to 10 Mb). The memory occupation due to UXStrings3 
is negligible compared to the memory occupation of the server engine 
implemented in Gnoga.

Study case: AdaEdit application using the Gnoga graphics library with 
UTF-8 files:
English 315 kb
French: 447 kb
Emojis: 439 kb
Process: read all lines of the given file and display the full text

Regardless of the implementation chosen, the appealing of a library is 
mainly based on the capabilities it offers (API). So far in UXStrings, 
these are similar to those of the strings Ada standard libraries. If you 
find some missing, make your proposals on Github [4].

Pascal.

[1] https://github.com/Blady-Com/UXStrings/blob/master/src/uxstrings3.ads
[2] https://alire.ada.dev/crates/uxstrings.html
[3] https://sourceforge.net/projects/gnoga
[4] https://github.com/Blady-Com/UXStrings/issues

             reply	other threads:[~2023-05-05  3:36 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-05  3:36 Blady [this message]
2023-06-29  8:49 ` [ANN] Release of UXStrings 0.5.0 Vincent D.
2023-07-01 14:41   ` Blady
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox