Home » Developing U++ » U++ Developers corner » New Core preview
New Core preview [message #8270] |
Mon, 26 February 2007 00:06 |
|
mirek
Messages: 13975 Registered: November 2005
|
Ultimate Member |
|
|
During the past month, I was working on Core improvements - new allocator, new String and WString.
The main aim was addressing multithreading issues with existing implementations - 2007.1 implementation has quite huge penalty when going from single-threaded to multithreaded code (locks and atomic reference counting is expensive).
I was also hoping for performance improvements even single threaded and also reduced memory requirements.
New memory allocator uses per-thread small block cache, so allocator locking is greatly reduced. String uses small string optimizations, which avoids reference counting in majority of cases.
Well, first two issues went great - multithreding now has very little impact on the performance and there are huge performance gains in single-threaded code. E.g. "wc" benchmark is now 100% faster (fastest on the planet I think , "idmap" benchamrk is 50% faster, but the most interesting, Assist++ C++ parser is 20% faster (which is great as it is quite complex code, not trivial map/string benchmark).
Unfortunatly, for reasons I do not quite understand (yet! - still investigating), memory consumption went up by 5%. Well, for much faster code, no big deal I think, so changes will be put into main tree soon.
Note that this is not about 2007.1 version (too dangerous to change Core now).
All uvs2 syncers can get new Core from the "newcore" repository. Please, if you have any complex software in develeopment, do so to test it. Hopefully, bugs will be rare, I tested it to the death using "testing package" (in "upptst" repository).
Mirek
[Updated on: Mon, 26 February 2007 00:12] Report message to a moderator
|
|
|
|
|
|
|
Goto Forum:
Current Time: Mon Apr 29 17:20:21 CEST 2024
Total time taken to generate the page: 0.02877 seconds
|