Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » Developing U++ » U++ Developers corner » New Core preview
New Core preview [message #8270] Mon, 26 February 2007 00:06 Go to previous message
mirek is currently offline  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 Smile, "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

 
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: unit testing in U++
Next Topic: Changeing to recursive critical sections... (?)
Goto Forum:
  


Current Time: Mon Apr 29 11:15:39 CEST 2024

Total time taken to generate the page: 0.02270 seconds