|
|
Home » Community » U++ community news and announcements » New Core
|
|
|
|
|
Re: New Core [message #46514 is a reply to message #46511] |
Wed, 18 May 2016 20:44 |
|
mirek
Messages: 14038 Registered: November 2005
|
Ultimate Member |
|
|
cbpporter wrote on Wed, 18 May 2016 15:24mirek wrote on Wed, 18 May 2016 15:36P.S.: Funny fact, theide 64 optimal size is 15920KB, speed is 17354KB. I guess I will drop this confusion soon...
I tested it too and it is 400 KiB on my 32 bit exe.
But a round trip (and not necessarily round trip, works one way too) conversion from Int to String is about 3 time "slower" on size for 100 million iterations than on "speed". And this with a bunch of hacks I added to speed it up. Without, it is even slower. So I'm sticking with -O2 from now on.
This absolutely expected.
Quote:
I would have never used anything else but TheIDE made this choice for me.
Have you told it that your package/file needs to be speed optimized?
Quote:
Optimal means optimal.
Exactly. Optimal .exe is as small as possible and as fast as possible. By optimizing for speed only what is necessary, you can achieve that goal.
Anyway, while this is sound idea, as I said 10% in size is not worth the trouble. So from the next release on, it will be just speed.
Mirek
|
|
|
Re: New Core [message #46515 is a reply to message #46514] |
Wed, 18 May 2016 21:53 |
cbpporter
Messages: 1406 Registered: September 2007
|
Ultimate Contributor |
|
|
cbpporter wrote on Thu, 12 May 2016 04:04Which is the last "old core" version. For bookmarking .
And not just for bookmarking. For bug-fixing and submitting test-cases. I'm a bit stuck. I need to patch both my code and submit one for TheIDE to detect better older compiler versions. I know that it is legacy mode and no longer supported, but there is still autodecting code, which doesn't work as good as it should. So either remove it or fix it. I really need to take my ugly code and write a package that autodetects really well the compiler versions and add it to bazaar and as a dependency in my code.
Then I'm finding bugs left and right, some probably just because I'm doing something wrong, but at least one is in U++, but I can't compile yet with the new core.
Then I'm stuck since my command line project is not supposed to support C++11, but it is also used as a library by the GUI, which doesn't care about C++ version. So if I update, I need to make my code old school C++ and use U++ Core in a way that compiles at least on both.
mirek wrote on Wed, 18 May 2016 21:44
Anyway, while this is sound idea, as I said 10% in size is not worth the trouble. So from the next release on, it will be just speed.
Speed and size is fine.
Actually, I'm having this problem too. I need to support MSC, several versions, TDM, Clang overrides for them, Linux G++ and Linux Clang.
And they hate to agree upon what option means what . So I'm thinking of only supporting two options, Debug and Release, and to have compiler dependent options as overrides. For MSC: O1, O2, Ox and Od. For G++: O0-O3 and Os. So I'm thinking of adding these options to the GUI based on compiler and no even trying to give them meaningful names. Debug and Release come with sensible defaults and if you touch the Onn options, it means you know what you are doing.
|
|
|
|
|
|
Re: New Core [message #46575 is a reply to message #46475] |
Fri, 03 June 2016 01:23 |
Novo
Messages: 1371 Registered: December 2006
|
Ultimate Contributor |
|
|
mirek wrote on Sat, 14 May 2016 01:59Novo wrote on Thu, 12 May 2016 16:23mirek wrote on Thu, 12 May 2016 03:09
Weird. That is the place it was always crashing, before I have fixed it with 'finetuning' -O options.
Are you using "Instant setup" default options?
Mirek
No, I was using old -O3 and -Os options.
Replacing -Os with -O2 fixed crashes with Optimal and Size configuration.
I didn't change -O3 to -O2 for the Speed configuration.
I do not understand where you are taking options for the Optimal configuration from. They are not declared explicitly anywhere.
I do not quite understand the question. I was just combining until it worked. Then adjusted 'instant setup' to found options.
BTW, my hypothesis here is that it is a bug linker that makes it impossible to combine size and speed optimized code (after all, there are no issues in Posix). Perhaps something related to inlines (-O3 is more aggresive in inlining everything). SO whatever, all is now -O2.
Mirek
I was trying to say that "Optimal" was hard-coded somewhere, and there was no way to change it without recompilation of TheIDE. Anyway, it is gone now.
Regards,
Novo
|
|
|
Goto Forum:
Current Time: Fri Sep 20 04:21:35 CEST 2024
Total time taken to generate the page: 0.03678 seconds
|
|
|