Re: [fpc-pascal] Why win64 program are considerably bigger in exe size than win 32?

2017-12-31 Thread Sven Barth via fpc-pascal
Am 31.12.2017 00:19 schrieb "Martok" :

Am 22.12.2017 um 09:30 schrieb Dennis:
> I am upgrading my program from win 32 to win 64 using the new Lazarus 1.8.
> I discovered my program exe size increased from 6M to 9M.
Just for fun, I wrote a small program to parse Linker Map files and show the
image occupation by source object file (~unit).


Could/would you provide that tool as open source? Does it only work with
PE/COFF or also ELF?


First lesson: FPC's internal linker is *a lot* better than the GNU linker
when
it comes to discarding unused parts. Good job there!



Good to know :D

Second lesson: the RTL's system and classes are large, compared to Delphi
(at
least older versions). They can do more as well, so I'll call that a draw.

And now the on-topic part: this compares an "empty" project (Lazarus:
Project->New->Program), compiled for win32 and win64

As you can see, the win64 image is about a third larger - but not so much
because of the code segments (they end shortly after the cyan "bar" for
typinfo,
before the second occurrence of classes), but more so because of the data
sections following. A lot of that is unwind info (.xdata), I'm afraid I
don't
know what .pdata usually is.


.xdata and .pdata are both used for SEH related data on the non-i386
Windows platforms (x84_64 and ARM as well as the obsolete MIPS and PowerPC
targets).

Regards,
Sven
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Re: [fpc-pascal] Why win64 program are considerably bigger in exe size than win 32?

2017-12-31 Thread Mark Morgan Lloyd

On 31/12/17 00:15, Martok wrote:


Oh, and I finally know why even simple LCL applications are so large: 
graphicsdrags in fcl-image, which includes full support for JPEG, TIFF, PNG and 
requirespasjpeg, paszlib and others. The widgetset indirection is surprisingly 
small.


Interesting.

--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Re: [fpc-pascal] Why win64 program are considerably bigger in exe size than win 32?

2017-12-31 Thread Florian Klämpfl
Am 31.12.2017 um 00:19 schrieb Martok:
> 
> And now the on-topic part: this compares an "empty" project (Lazarus:
> Project->New->Program), compiled for win32 and win64
> 
> As you can see, the win64 image is about a third larger - but not so much
> because of the code segments (they end shortly after the cyan "bar" for 
> typinfo,
> before the second occurrence of classes), but more so because of the data
> sections following.

Keep in mind that i386 generates exception handling in code so the "data" of 
.xdata is basically
included in .text on i386.

> A lot of that is unwind info (.xdata), I'm afraid I don't
> know what .pdata usually is.
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Re: [fpc-pascal] Why win64 program are considerably bigger in exe size than win 32?

2017-12-31 Thread Martok
Am 31.12.2017 um 11:15 schrieb Sven Barth via fpc-pascal:
> Could/would you provide that tool as open source?
Sure! 
I have attached the win32 binary as a release.

> Does it only work with PE/COFF or also ELF?Since I only very crudely parse 
> the linker map file, I think it should work
regardless of executable format? Wouldn't bet on embedded targets though, they
might have a different format. Happy to accept pull requests ;)

Borland Map files are something entirely different (and inconsistent between
versions and frontends!), so no easy comparison for now.

> .xdata and .pdata are both used for SEH related data on the non-i386 Windows
> platforms (x84_64 and ARM as well as the obsolete MIPS and PowerPC targets). 
Ah, so they're both exception handling. Interesting to see that is almost as
large as the actual code, at least for the "useless" test case.


-- 
Regards,
Martok

Ceterum censeo b32079 esse sanandam.

___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

[fpc-pascal] Increasing Image Resolution with Neural Networks

2017-12-31 Thread Joao Schuler
Hello,
To whom might be interested, I've just recorded a video showing how to
increase image resolution using free pascal:
https://www.youtube.com/watch?v=jdFixaZ2P4w

I consider this as a step in the project as this is the first time an image
generative neural network and it's supporting API is added.

More info about the project can be found here:
https://sourceforge.net/projects/cai/files/

In the case that this message falls outside of the scope of this list,
please let me know. I have a tendency of typing/speaking too much about
artificial intelligence.

Wish everyone happy new coding in the new year !!!
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal