New DLLs when compiling. What for?

With the new version 2014r3, there are three new dll in the exe Lib folder: icudt53.dll, icuin53.dll and icuuc53.dll.
The first of these dlls is 20 Mb big.

What are these dlls for?
I see no new big feature for Windows in this new release.
Every time the exe file is bigger and bigger and it’s difficult for us to understand why.

Those are the ICU library. It is included in Windows because there is no direct equivalent built into Windows like is available on OSX and Linux.

http://site.icu-project.org/

They are the international translation text handling routines and are part of the new Text class.

Text, Date and anything related to be locale savvy

They add an additional 24MB to keep your app from blowing away in heavy winds :slight_smile:
https://forum.xojo.com/18071-2014r3-vs-2014r2-1-win32-file-size-icu-dlls

Well, the fans in some computers are pretty strong…

Thats bigger than my whole app.
Its bigger than an entire Windows 3.1 installation.
To implement strings?

Not just for strings
Strings, dates, numbers and a bunch of other bits that are not yet revealed
And they’ll all be locale savvy
http://site.icu-project.org

[quote=150527:@Jeff Tullin]Thats bigger than my whole app.
Its bigger than an entire Windows 3.1 installation.
To implement strings?[/quote]

Bigger than Dos 1.00. Oh my !

Never mind those old relics, it’s bigger than Tiny Core 5.4.

20 MB? Putting that in perspective, Michel, it’s the same size as the whole hard drive on my first Compaq desktop computer … of course, that was before I “innovated” and “bought up” to the 40 MB hard drive version ^^

[quote=150515:@Michael Diehr]They add an additional 24MB to keep your app from blowing away in heavy winds :slight_smile:
https://forum.xojo.com/18071-2014r3-vs-2014r2-1-win32-file-size-icu-dlls[/quote]
Feel your pain. Looks like bloat from afar. Maybe a future compiler update will “optimize” this out :slight_smile: (at least that was the function of the compilers when I went to school ages ago).

Lucky you. First IBM XT had only 10 MB :wink:

Sorry for the thread hijack, but I had to mention the cassette drive in my first PC, a PET 2001with 8K RAM and 8K ROM!

my first IBM XT don’t even hard disk…come with 2 5.25 floppy disk…

My Rockwell AIM 64 didn’t even have a CRT - a single one line LED display. Had to wire my own connection for a cassette player.

It did have its own built-in thermal printer though! :slight_smile:

So Xojo needed to add a code library for Windows because Windows unlike Linux and OS X tends to leave a LOT of things out. I have found numerous instances where Linux and OS X have features: SSH, TFTP, CURL, etc. Same thing here. Now, Norman and Joe and the rest could have spent their time, adding in specific methods for all the new locale features (which is really cool by the way) and all. This would have pushed back delivery of everything and made things more buggy, etc.

Instead, the included a library with each build that while it contains more than is necessarily needed, allows things to be done quickly and efficiently. They didn’t re-invent the wheel.

So does it add some bloat? Sure. But let’s face it - in the era of Terabyte hard drives, 20 Mb isn’t going to hurt anyone…

In a project with a ListBox that loads a text file and display it (three PushButtons), I got:

OSX: 4.1 MB
Windows: 30.4 MB

Don’t you think there is something wrong, somewhere ?

And I was angry because OS X executables weight are some MBs !!!

So, the leitmotiv is: “Don’t cry for what you have today because tomorrow will be worst” ???

Has anyone tried this to reduce the size?

http://forum.qt.io/topic/37891/minimal-icudt51-dll-icudt52-dll-and-icudt53-dll

This might actually remove functionality that is used in Xojo.
In future I’d also expect the use of ICU to increase not decrease.