OS/2, eCS & ArcaOS - Technical > Internet

Curious what the problem is making new firefox versions.

<< < (3/4) > >>

Neil Waldhauer:
I may be wandering off-topic, but if the runtime libraries supporting Chromium (or even Firefox) fail gracefully when running out of memory and the applications behave well when receiving an out of resources error, we might function pretty well in the future.

Roderick Klein:

--- Quote from: Dave Yeo on December 20, 2020, 01:06:32 am ---
--- Quote from: JTC on December 19, 2020, 08:53:46 pm ---Are there any compile-time optimizations that could help further reduce the size of the binaries ?  Or compile options to target multi-core chips with instructions that
can further reduce the execution path ??

--- End quote ---

-Os for a smaller optimized binary. Experimenting with Firefox (I believe there is a copy at Bitbucket) it wasn't that much smaller and slightly slower.
The thing with building on a multicore machine is that make can do more jobs by forking. I usually use -j5 (-j3 seems the most that works for TB) so that at times there are 5 make.exe's compiling different subdirectories on my 4 core machine, the extra one is for when one is blocked waiting for the HD. Nice to have all 4 cores running at 100% much of the time. Of course there are bottlenecks where one or more make's has to wait for a dependency to finish.
Bitwise was running into the situation where some object files were using 2GB to compile so had to revert to -j2 or -j1 to avoid the system hanging, leading to long compile times.

The compiler doesn't really seem to have options for multi-core. I did try tuning my latest for Core2 but whether it made a difference is hard to tell. I believe there are libraries that help for multi-core but basically just using more threads is key. While Mozilla uses threads, most of it runs on thread 1.
There's also having each tab as its own process, an option with QT and Firefox. Firefox is broken for doing it in our port and there are memory problems again with having a process per tab besides harder to make work (they have to communicate). Advantage is having a single tab crash instead of the whole browser. I expect that the QT browser will have that disabled, especially at first.

--- End quote ---

That last bit is being worked so when a single tab crashes it does not take down the complete browser.

As for the compiler issue. I I get it correctly the following issue's exists:

1) We can not run multiple instance of GCC.EXE parallel to compile the webkit DLL.

2) By being more selective with large DLL which debug information you compile you can reduce the memory needed.

3) To reduce compile time and memory usage tweaks are possible on WLINK and GCC. But it takes time.

Roderick

David Graser:
I am not a programmer. 

I have always wondered why RAM could not be compressed like the OS/2 program Zipstream, a disk compression utility used back in the nineties when hard drives were small?  Compress a RAM drive where you 6 MB of RAM down to 4 GB of RAM. This would allow one to create a bigger RAM drive.  Since the drive is temporary, more RAM could be used for the drive.  Compress RAM and would that not allow one to use more physical RAM?

http://os2ezine.com/v2n1/arc.htm

Roderick Klein:

--- Quote from: David Kiley on December 19, 2020, 10:48:21 am ---
--- Quote from: Dave Yeo on December 19, 2020, 08:03:57 am ---Eventually this will kill OS/2 as developers use 64bit machines full of memory, less and less will run on 32 bit machines.

--- End quote ---
Thanks for the explanation - I didn't know it was so connected to the ram requirements. Fascinating and sad if it leads to the death of the OS. How does the QT browser solve that problem though?

--- End quote ---

While its true I do see options with R&D making it possible to last longer.

As I mentioned tweaks can be made to GCC compiler on ArcaOS and the wlink.exe can be modified. Also by being selective on the amount of debug information that gets added while compiling you should also take into account.

From what I can tell compiling QT for Bitwise Works was not an issue. It was because of the webkit DLL that is so big.
The DLL is 250 MB and the other QT 5 DLL's are a lot smaller.

Roderick

David Kiley:

--- Quote from: Roderick Klein on December 20, 2020, 07:05:28 pm ---From what I can tell compiling QT for Bitwise Works was not an issue. It was because of the webkit DLL that is so big.
The DLL is 250 MB and the other QT 5 DLL's are a lot smaller.

--- End quote ---
Why does the size of the file matter, if it doesn't need more memory to compile?

Also, hair-brained idea:
Could you take an open source compiler from say freedos or reactos, and then add the function to use a swap file from a ramdisk, to reach higher memory when compiling?
Keep in mind a have no idea what i'm talking about really, just blue skying.
I just remember in the DOS days I used a compiler from borland c++ that would generate .exe files.. so it made me think maybe there is some open source compiler that would work with OS/2, from one of those other projects.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version