FB builds using gcc 7.5, 8.4 and 9.3

Windows specific questions.
srvaldez
Posts: 3379
Joined: Sep 25, 2005 21:54

FB builds using gcc 7.5, 8.4 and 9.3

Post by srvaldez »

http://winlibs.com/ has these versions of the gcc toolchains
although there are a number of dll dependencies on this versions of gcc, the FB compiled exe's seem to be free of them, at least as far as I tested.
Last edited by srvaldez on Jun 04, 2020 18:02, edited 2 times in total.
deltarho[1859]
Posts: 4313
Joined: Jan 02, 2017 0:34
Location: UK
Contact:

Re: FB builds using gcc 7.5, 8.4 and 9.3

Post by deltarho[1859] »

@srvaldez

Well done!

Quick question: Are they using fbc 1.07.1 or 1.08?
srvaldez
Posts: 3379
Joined: Sep 25, 2005 21:54

Re: FB builds using gcc 7.5, 8.4 and 9.3

Post by srvaldez »

it's FB-1.08, if you are interested in version 1.07.1 I will go ahead and build them
btw, version 7.5 was the fastest on the n-body test
deltarho[1859]
Posts: 4313
Joined: Jan 02, 2017 0:34
Location: UK
Contact:

Re: FB builds using gcc 7.5, 8.4 and 9.3

Post by deltarho[1859] »

srvaldez wrote:although there are a number of dll dependencies on this versions of gcc, the FB compiled exe's seem to be free of them, at least as far as I tested.
That does not put me off but pairing them with a beta version of fbc does.

With the official version of fbc then I would download them in a flash.
srvaldez
Posts: 3379
Joined: Sep 25, 2005 21:54

Re: FB builds using gcc 7.5, 8.4 and 9.3

Post by srvaldez »

Ok, fair enough.
deltarho[1859]
Posts: 4313
Joined: Jan 02, 2017 0:34
Location: UK
Contact:

Re: FB builds using gcc 7.5, 8.4 and 9.3

Post by deltarho[1859] »

Image
1.08 is mentioned in the descriptions - I don't know how I missed that.

Anyway, 1.07.1 versions would be great as the 7.4, 8.3 and 9.2 that I have are 1.07.1.
MrSwiss
Posts: 3910
Joined: Jun 02, 2013 9:27
Location: Switzerland

Re: FB builds using gcc 7.5, 8.4 and 9.3

Post by MrSwiss »

@srvaldez,

don't let yourself be deterred from what you're currently doing.
IMO, testing the upcoming version of FBC with more current GCC versions, makes sense.
srvaldez
Posts: 3379
Joined: Sep 25, 2005 21:54

Re: FB builds using gcc 7.5, 8.4 and 9.3

Post by srvaldez »

thanks MrSwiss
I think so too, however I added version 1.07.1
deltarho[1859]
Posts: 4313
Joined: Jan 02, 2017 0:34
Location: UK
Contact:

Re: FB builds using gcc 7.5, 8.4 and 9.3

Post by deltarho[1859] »

I don't have an issue with beta versions of anything for testing purposes but there is a world outside of the FreeBASIC forums and I am not prepared to give anyone or publish on the internet an exe compiled with a beta version of fbc.

I will not be replacing gcc 7.4, 8.3 and 9.2 just yet even with fbc 1.07.1. This is what my Cpaths is now. A fair bit of hammering is now required before 'moving up'.

Image

I have looked at one source code to compare binary sizes.

7.4 141312 146432 7.5
8.3 137216 142848 8.4
9.2 137216 143360 9.3

The increases may be down to the older versions being via Equation.com and the later versions via WinLibs.com. 8.3 produces the smallest binaries with the older versions, including 5.2 and 6.4 after much testing and 8.4 produces the smallest binary of the new builds with the one source code looked at here.

Performance-wise is a difficult one to evaluate but the n-body test gave

Code: Select all

     32-bit   64-bit
7.4  6.22s    5.29s
7.5  6.23s    5.28s
8.3  6.29s    5.40s
8.4  6.29s    5.39s
9.2  6.28s    5.39s
9.3  6.28s    5.41s
with '-gen gcc -Wc -O3'

So, no significant differences with that test.

Assuming nothing untoward occurs with these new builds then I could opt for 8.4, with 8.3 as my current default.

@srvaldez

Thank you.
UEZ
Posts: 988
Joined: May 05, 2017 19:59
Location: Germany

Re: FB builds using gcc 7.5, 8.4 and 9.3

Post by UEZ »

Here my results using the Line Benchmark w/o AA code:

Code: Select all

				32-Bit / -gen gcc -Wc -O					
1.000.000	0			1			2			3			4			Average					
6.4			6589 ms	2377 ms	1681 ms	1968 ms	2077 ms	2938 ms
7.4			4796 ms	2168 ms	2024 ms	1881 ms	2135 ms	2601 ms
7.5			4974 ms	1926 ms	1801 ms	1743 ms	2137 ms	2516 ms
8.3			5114 ms	1793 ms	1918 ms	4811 ms	2259 ms	3179 ms
8.4			4941 ms	1508 ms	1057 ms	1158 ms	 791 ms	1891 ms**
9.2			5452 ms	2042 ms	1993 ms	1825 ms	2251 ms	2713 ms
9.3			4868 ms	1729 ms	1361 ms	1208 ms	 952 ms	2024 ms
10.0		  5224 ms	2009 ms	1803 ms	1494 ms	2313 ms	2569 ms
11.0		  5053 ms	1863 ms	1881 ms	1489 ms	2268 ms	2511 ms

Code: Select all

				64-Bit / -gen gcc -Wc -O					
1.000.000	0			1			2			3			4			Average	
5.2			3540 ms	1573 ms	1353 ms	1480 ms	1304 ms	1850 ms
6.4			3160 ms	1383 ms	1017 ms	1209 ms	1012 ms	1556 ms
7.4			2706 ms	1468 ms	 996 ms	1138 ms	1043 ms	1470 ms
7.5			2967 ms	1405 ms	1043 ms	1258 ms	1033 ms	1541 ms
8.3			2527 ms	1460 ms	1049 ms	1474 ms	1123 ms	1527 ms
8.4			3094 ms	1471 ms	1054 ms	1094 ms	1038 ms	1550 ms
9.2			2489 ms	1482 ms	 962 ms	1161 ms	1047 ms	1428 ms**
9.3			3049 ms	1506 ms	1056 ms	1099 ms	1026 ms	1547 ms
10.0		  2825 ms	1520 ms	 990 ms	1074 ms	1019 ms	1486 ms
11.0		  2908 ms	1475 ms	1029 ms	1077 ms	 979 ms	1494 ms
**winner average.

My test environment:
HP EliteBook 745 G6
AMD Ryzen 5 PRO Mobile 3500U
Radeon Vega Mobile Gfx
16 GB DDR4 memory
Microsoft Windows 10 (10.0) Enterprise Edition 64-bit (Build 18362)


@srvaldez: thanks for your effort to create all the toolchain builds. :-)
Last edited by UEZ on May 21, 2020 14:03, edited 1 time in total.
deltarho[1859]
Posts: 4313
Joined: Jan 02, 2017 0:34
Location: UK
Contact:

Re: FB builds using gcc 7.5, 8.4 and 9.3

Post by deltarho[1859] »

I posted the following a little while ago, I cannot remember when, but it is worth looking at them again. The data is from 75 C/C++ benchmark tests using "-O3 -march=native" on a Core i7 5960X Linux 5.3 kernel. Needless to say the benchmarks covered a range of differing code.

Image
Image

The above plus the fact that gcc 8.3 produced the smallest binaries with a variety of my code is why I opted for 8.3 as my default.

Forgetting 10.0, work in progress at the time, the likelihood is that 8.3 will be the fastest but if we were desperately in need of the fastest for a given application it is worthwhile to test on as many tool-chains as we can because the worst number of first place finishes could be the winner.

Of course, the next question how significant a winner? With the n-body test there isn't one. On the other hand, with UEZ'z tests we do have significant winners.

At the end of the day then for a particular application it is anybodies guess.
srvaldez
Posts: 3379
Joined: Sep 25, 2005 21:54

Re: FB builds using gcc 7.5, 8.4 and 9.3

Post by srvaldez »

@UEZ
as posted, your functions go from 0 to 4, here's my result
fbc -arch native -gen gcc -Wc -Ofast

Code: Select all

Result for 2,000,000 lines:

Function      0        1        2        3       4
gcc-5.2x64 2168.40  1152.06   994.76   878.22  737.97
gcc-6.4x64 2525.12  1343.99  1165.53  1075.96  939.66
gcc-7.5x64 2131.88  1394.96   991.69  1059.29  948.17
gcc-8.1x64 2211.88  1326.46   959.24   983.08  944.41
gcc-8.3x64 2135.19  1331.39   959.08   976.78  963.65
gcc-8.4x64 2209.79  1324.07   953.77  1068.93  941.44
gcc-9.2x64 1930.25  1127.83   799.01   864.88  738.71
gcc-9.3x64 2229.51  1134.50   779.37   777.89  726.39
gcc-10x64  1915.21  1225.88   784.60   788.63  729.40
gcc-11x64  1906.44  1147.74   755.40   778.53  708.44
dodicat
Posts: 7983
Joined: Jan 10, 2006 20:30
Location: Scotland

Re: FB builds using gcc 7.5, 8.4 and 9.3

Post by dodicat »

Why not have a test with gas64 also?
Nowadays I do a test run with gas64, and report any hiccups to SARG.
I have been messing around with c++ lately.
Seems to me that g++ (gcc also) does not specialise in backward compatibility, the FreeBASIC compiler writers always seem keen on being able to run old code at each stage (except when they dismissed suffixes, but that was a one off.)
UEZ
Posts: 988
Joined: May 05, 2017 19:59
Location: Germany

Re: FB builds using gcc 7.5, 8.4 and 9.3

Post by UEZ »

Here the result using SARG's fbc64_gas64.exe from 19th April.

Code: Select all

				64-Bit / -gen gcc -Wc -O					
1.000.000	0			1			2			3			4
SARG	  	2461 ms	1445 ms	1057 ms	1106 ms	889 ms
So far the fastest in average (1392 ms)!
deltarho[1859]
Posts: 4313
Joined: Jan 02, 2017 0:34
Location: UK
Contact:

Re: FB builds using gcc 7.5, 8.4 and 9.3

Post by deltarho[1859] »

@UEZ

I have not taken much interest in gas64 but it is very difficult to ignore 1392ms.

It seems to me that the 'latest and greatest' should always be available at the opening post and not expect us to wade through pages and pages looking for updates to this and that. So, I went to the opening post and downloaded. On the first attempt to compile I was told that the bin folder could not be found. That did not surprise me because I could not find it either. Image

Would you be good enough to let me what I need to download to try gas64? I am on Windows only.

I assume that you have put gas64 into SetCompilerPathsII and, if so, what does your SetCompilerPathsII.ini look like?

Cheers.
Post Reply