BaCon 4.7 released
May 31, 2023 18:33:43 GMT 1
Post by Pjot on May 31, 2023 18:33:43 GMT 1
All,
BaCon version 4.7 has been released. Please download the latest package from the BaCon website and refresh your browser cache if the new package is not visible in your browser immediately.
This is a major release with a few important milestones.
First of all, the incremental string concatenation has been improved even further. At the moment of the release date (June 1st 2023), BaCon has the fastest incremental string concatenation API on planet Earth! Please take note of the remarks down below.
Secondly, the usage of the built-in editor has been completely redesigned. It is far more flexible, user-friendly and versatile than it was before, and it can actually be used to develop middle large programs.
Furthermore, the justify method in ALIGN$ has been improved to the point of perfection. It can now justify any text on two sides fast and reliably. Feel free to align texts from Project Gutenberg (both ASCII and UTF-8) to fit your preferences.
Lastly, a few internal improvements regarding empty strings have been applied, which reduces the dynamic memory allocations with an overall average of approx. 40%, thereby reducing the total memory usage significantly.
Other highlights:
Thanks to all the people who have contributed to this latest release, especially the BaCon forum members for posting problems and verifying beta releases.
See the full list of changes for more details (please refresh your browser cache to see the latest).
Best regards
Peter
*Remarks regarding string concatenation: the current implementation was tested against more than 20 other programming languages like C++, Rust, Go, PHP, Python, Perl, NodeJS, FreePASCAL, etc. The tests are based on the native string API in those languages and compared with the string API of BaCon. It is clear that a different approach of string concatenation in, for example, C++, would improve the performance. However, a different approach would work better in BaCon as well. Also it is clear that comparison of programming languages is like comparing apples and pears. Having said that, question remains why the string API in other languages is so slow.
BaCon version 4.7 has been released. Please download the latest package from the BaCon website and refresh your browser cache if the new package is not visible in your browser immediately.
This is a major release with a few important milestones.
First of all, the incremental string concatenation has been improved even further. At the moment of the release date (June 1st 2023), BaCon has the fastest incremental string concatenation API on planet Earth! Please take note of the remarks down below.
Secondly, the usage of the built-in editor has been completely redesigned. It is far more flexible, user-friendly and versatile than it was before, and it can actually be used to develop middle large programs.
Furthermore, the justify method in ALIGN$ has been improved to the point of perfection. It can now justify any text on two sides fast and reliably. Feel free to align texts from Project Gutenberg (both ASCII and UTF-8) to fit your preferences.
Lastly, a few internal improvements regarding empty strings have been applied, which reduces the dynamic memory allocations with an overall average of approx. 40%, thereby reducing the total memory usage significantly.
Other highlights:
- New functions to handle UTF-8 Byte Order Marks in texts: HASBOM and EDITBOM$
- Multiple performance improvements in the string delimiter engine and several other string functions
- Bug fixes for a couple of long-standing issues
- Regular bug fixes and code cleaning
Thanks to all the people who have contributed to this latest release, especially the BaCon forum members for posting problems and verifying beta releases.
See the full list of changes for more details (please refresh your browser cache to see the latest).
Best regards
Peter
*Remarks regarding string concatenation: the current implementation was tested against more than 20 other programming languages like C++, Rust, Go, PHP, Python, Perl, NodeJS, FreePASCAL, etc. The tests are based on the native string API in those languages and compared with the string API of BaCon. It is clear that a different approach of string concatenation in, for example, C++, would improve the performance. However, a different approach would work better in BaCon as well. Also it is clear that comparison of programming languages is like comparing apples and pears. Having said that, question remains why the string API in other languages is so slow.