You are not logged in.

#1 2012-01-05 17:15:38

disparv
Member
Registered: 2012-01-05
Posts: 14

abs creates bigger executable than make

I wanted to see if a self compiled firefox is faster than the prebuild firefox.

Self compiled with make:
binary size = 49 kb

Self compiled with makepkg:
binary size = 62.8 kb

Prebuild firefox from pacman:
binary size = 64.3 kb

And the javascript benchmark of the makepkg and pacman version are ~30% slower than the make version.

Someone has an idea why the makepkg and make version arent the same size and speed?

PS: firefox version = firefox-9.0.1-1x86_64

-- If you need more info, tell me wink, thanks in advance

Offline

#2 2012-01-05 17:17:21

hesse
Member
Registered: 2011-12-08
Posts: 88

Re: abs creates bigger executable than make

How exactly did you measure this difference in speed? Seems like a huge difference there.

Offline

#3 2012-01-05 17:19:56

Gusar
Member
Registered: 2009-08-25
Posts: 3,607

Re: abs creates bigger executable than make

It's very simple: The abs build applies CFLAGS, CXXFLAGS and LDFLAGS from /etc/makepkg.conf. Your manual compile does not.

Though, that 30% difference looks suspect anyway, so yeah, how did you measure that?

Last edited by Gusar (2012-01-05 17:20:49)

Offline

#4 2012-01-05 17:23:18

bangkok_manouel
Member
From: indicates a starting point
Registered: 2005-02-07
Posts: 1,556

Re: abs creates bigger executable than make

firefox binary of that size won't include stuff that you would benchmark
make won't use CFLAGS/CXXFLAGS set in makepkg.conf
makepkg will
use the same and compare the size again

Offline

#5 2012-01-05 18:10:45

disparv
Member
Registered: 2012-01-05
Posts: 14

Re: abs creates bigger executable than make

I am not home atm so ill check the size of the make version with the flags later.

The speed tests I did was:
http://www.webkit.org/perf/sunspider/sunspider.html
http://v8.googlecode.com/svn/data/bench … 6/run.html

-thanks for the replies btw-

EDIT: Sry for posting in "Pacman & Package Upgrade Issues" can someone transfer it to "Creating & Modifying Packages"?

Last edited by disparv (2012-01-05 18:16:34)

Offline

#6 2012-01-05 18:39:33

bangkok_manouel
Member
From: indicates a starting point
Registered: 2005-02-07
Posts: 1,556

Re: abs creates bigger executable than make

I'll stop being mysterious.
binary size = 49 kb <-- NOT F'ING POSSIBLE

Offline

#7 2012-01-05 18:41:58

Gusar
Member
Registered: 2009-08-25
Posts: 3,607

Re: abs creates bigger executable than make

bangkok_manouel wrote:

I'll stop being mysterious.
binary size = 49 kb <-- NOT F'ING POSSIBLE

Of course it is. All the stuff is elsewhere, most of it in libxul.so and omni.jar. The firefox binary itself is extremely small.

Offline

#8 2012-01-05 18:45:16

bangkok_manouel
Member
From: indicates a starting point
Registered: 2005-02-07
Posts: 1,556

Re: abs creates bigger executable than make

Gusar wrote:
bangkok_manouel wrote:

I'll stop being mysterious.
binary size = 49 kb <-- NOT F'ING POSSIBLE

Of course it is. All the stuff is elsewhere, most of it in libxul.so and omni.jar. The firefox binary itself is extremely small.

ok then back to my previous post, js benchmarks with this kind of binaries are pointless.

Offline

#9 2012-01-05 18:46:54

bangkok_manouel
Member
From: indicates a starting point
Registered: 2005-02-07
Posts: 1,556

Re: abs creates bigger executable than make

also:
http://www.archlinux.org/packages/extra/i686/firefox/
Package Size:     12.1 MB
Installed Size:     30.8 MB

Offline

#10 2012-01-05 18:47:38

hadrons123
Member
From: chennai
Registered: 2011-10-07
Posts: 1,249

Re: abs creates bigger executable than make

@disparv
are you able to produce consistent results that you claim?

Offline

#11 2012-01-05 18:51:22

disparv
Member
Registered: 2012-01-05
Posts: 14

Re: abs creates bigger executable than make

@bangkok_manouel: why is it pointless? And the size u show is not only the binary, its the full package.

@hadrons123: ye, the sunspider benchmark is ~12% faster, the V8 ~35%

But when im home again, ill do some more tests, i could have done something wrong.

Last edited by disparv (2012-01-05 18:52:55)

Offline

#12 2012-01-05 18:52:55

Gusar
Member
Registered: 2009-08-25
Posts: 3,607

Re: abs creates bigger executable than make

The thing is, CFLAGS certainly do noticeably affect js performance, it's very delicate code. It's the 30% difference that is odd to me, if it were around 10% it'd be believable. Also, sunspider is not really a good benchmark, and even v8 has it's quirks. It'd be cool to also test with kraken.

Last edited by Gusar (2012-01-05 18:53:47)

Offline

#13 2012-01-05 18:54:00

bangkok_manouel
Member
From: indicates a starting point
Registered: 2005-02-07
Posts: 1,556

Re: abs creates bigger executable than make

it's pointless because given the size the size of the binary, it does not include any js engine, just the UI at best. the "back" button I would say.
something is VERY wrong here.

Offline

#14 2012-01-05 18:55:52

disparv
Member
Registered: 2012-01-05
Posts: 14

Re: abs creates bigger executable than make

Gusar wrote:

The thing is, CFLAGS certainly do noticeably affect js performance, it's very delicate code. It's the 30% difference that is odd to me, if it were around 10% it'd be believable. Also, sunspider is not really a good benchmark, v8 is better. And it'd also be cool to test with kraken.

Ye ill do some more tests later.

@bangkok_manouel: any idea what the javascript binary is called?

Last edited by disparv (2012-01-05 18:57:31)

Offline

#15 2012-01-05 18:57:11

Gusar
Member
Registered: 2009-08-25
Posts: 3,607

Re: abs creates bigger executable than make

bangkok_manouel wrote:

it's pointless because given the size the size of the binary, it does not include any js engine, just the UI at best. the "back" button I would say.
something is VERY wrong here.

Oh come on, no one is saying the size of the executable is affecting js performance. It's just one additional difference that can be observed when using different CFLAGS.

Offline

#16 2012-01-05 22:14:23

fsckd
Forum Fellow
Registered: 2009-06-15
Posts: 4,173

Re: abs creates bigger executable than make

mod action

disparv wrote:

Sry for posting in "Pacman & Package Upgrade Issues" can someone transfer it to "Creating & Modifying Packages"?

Sure.


aur S & M :: forum rules :: Community Ethos
Resources for Women, POC, LGBT*, and allies

Offline

#17 2012-01-05 23:44:59

disparv
Member
Registered: 2012-01-05
Posts: 14

Re: abs creates bigger executable than make

After some testing and recompiling, all 3 versions run almost at same speed.

--Thanks for the posts every1--

Offline

#18 2012-01-06 01:03:49

hadrons123
Member
From: chennai
Registered: 2011-10-07
Posts: 1,249

Re: abs creates bigger executable than make

@ disparv

if there is a performance difference of this level why do we want to compile with CFLAGS?

is there a reliablity factor involved here?

Offline

#19 2012-01-06 13:32:56

disparv
Member
Registered: 2012-01-05
Posts: 14

Re: abs creates bigger executable than make

hadrons123 wrote:

@ disparv

if there is a performance difference of this level why do we want to compile with CFLAGS?

is there a reliablity factor involved here?

After some testing i didn't find a big performance difference.
Only difference i found was the binary size that ran from 49kb to 260kb.

Offline

#20 2012-01-06 13:33:32

Gusar
Member
Registered: 2009-08-25
Posts: 3,607

Re: abs creates bigger executable than make

hadrons123 wrote:

if there is a performance difference of this level why do we want to compile with CFLAGS?

What you should do is compile with the flags that upstream has chosen (it's different flags for different components of firefox), this means unset CFLAGS and CXXFLAGS in the PKGBUILD. And you should use pgo. Pgo makes a big difference, on Windows up to 15%. Gcc isn't as good at pgo as msvc is, so the difference is a bit smaller on Linux.

Offline

Board footer

Powered by FluxBB