# [DISCUCION]ekopath open source compiller

## ensarman

como muchos de Uds sabrán se ha liberado el compilador de alto rendimiento para 64bits creo que si es asi, gentoo podria beneficiarse muchisimo de este compilador, se que ya existe un hilo en ingles sobre el tema pero no esta de mas discutirlo en español con todos nosotros,  se ha abierto un bug 

https://bugs.gentoo.org/show_bug.cgi?id=371603

y un thread en ingles para hablar del tema 

https://forums.gentoo.org/viewtopic-t-882569.html?sid=d867380ace48d373c80c4e9295b9a945

cuanto tiempo se demorarn en implementarlo en gentoo?? como se podria hacer la migracion de GCC a ekopath???

http://www.pathscale.com/ekopath-compiler-suite

----------

## upszot

hola estuve leyendo un poco del tema, por google y en el post en ingles q linkeaste... y esta muy interesante... 

 vi que ya hay un ebuild en portage http://packages.gentoo.org/package/dev-lang/ekopath

lo que todavía no se, es como se podrá hacer la migración del GCC a esto...

Saludos

----------

## ensarman

el tema es interesantisimo, me gustaria tener una distro de 64bits que funcione al doble de velocidad que una distibucion normal compilada con gcc, ademas segun muchos articulos el mismo kernel compilado con eckopath es una bala. no se si alguen ha tenido experiencia con este compilador, lamentablemente ahora tengo una distro de 32bits y el tiempo me esta faltando para instalar una distro en gentoo de 64 bits, pero alguien la ha porbado???

----------

## gringo

yo no perdería el sueño con esto la verdad, supongo que el compilador generará código mas optimizado para algunos casos concretos, dudo mucho que se note en uso diario delante de un linux.

Pasa lo mismo que el compilador de Intel supongo, el que lo haya probado habrá visto que si, efectivamente para algunas cosas concretas si es buena idea usarlo, pero no vas a obtener el mismo aumento de rendimiento en el funcionamiento en general en todo el sistema.

De cualquier manera, un nuevo compilador es mas que bienvenido, cuantas mas alternativas haya mejor para nosotros, los usuarios comunes.

 *Quote:*   

> segun muchos articulos el mismo kernel compilado con eckopath es una bala

 

que artículos ? 

Tb. se dice lo mismo de ICC y ya ves, a menos que uses un servidor con una carga de trabajos intensa ni te vas a enterar.

saluetes

----------

## ensarman

aver mirate en este articulo:

http://www.muylinux.com/2011/06/14/pathscale-compilador-ekopath-4-open-source-dirndl/

luego este que es el oficial de phoronix, el de arriba es una referencia a este

http://www.phoronix.com/scan.php?page=article&item=pathscale_ekopath4_open&num=1

bueno en todo caso esperemos nomas, cuando liberaron el compilador dio mucho que hablar

----------

## upszot

ya han pasado unos meses ...

Alguien sabe si hubo algun avance con este tema? pudieron realizar la migracion completa de gcc a ekopath??..

Saludos

----------

## ensarman

compilé un kernel con ekopath, el rendimiento se siente, desde la carga del kernel hasta el sistema en general se siente mas liviano.

para compilar el kernel con ekopath hay que abrir el Makefile que esta en /usr/src/linux

y se cambian las siguentes lineas:

```

#HOSTCC       = gcc

HOSTCC       = pathcc

#HOSTCXX      = g++

HOSTCXX      = pathCC

```

yo comenté las que apintan a gcc y g++ y las remplace con los compiladores respectivos de ekopath  :Razz: 

----------

## cameta

Seria interesante un enlace a un buen how to. 

Aunque realmente no voy a cambiar el GCC puesto que no hay nada roto, pero si algún día instalase un gentoo en una maquina nueva podría plantearme la alternativa.   :Wink: 

----------

## ensarman

nah intente probarlo con el portage, muchos paquetes no compilan, pero bueh, hay paquetes que si, por ahora es muy inestable el uso de ekopath en el  portage,  hay un thread que habla de eso, muchos usuarios tienen problemas con ekopath en el portage,

https://forums.gentoo.org/viewtopic-t-882444-postdays-0-postorder-asc-start-25.html

personalmente eh podido compilar coreutils XD despues quise hacer lo mismo con otros paquetes, pero en zlib me sale error:

----------

## cameta

No parece una buena idea instalar eso por el momento para  el 99 % de los usuarios.

----------

## ensarman

es mas me parece que hay que adaptar algunos los ebuilds para ekopath, haría falta mucho trabajo.

----------

## rivapic

Nose si es sugestión o que pero acabo de compilar mi kernel con ekopath y efectivamente como dice ensarman me ha parecido notar que el kernel carga algo mas rapido y que mejora en general el desempeño.

Alguna sugerencia de prueba para medir el rendimiento y comparar.

----------

## agdg

 *rivapic wrote:*   

> Alguna sugerencia de prueba para medir el rendimiento y comparar.

 

Puedes empezar por comparar los resultados de Gentoo Packages app-benchmarks/bootchart con cada kernel.

Después yo probaría a copiar (time cp) una gran cantidad de archivos pequeños de un disco a otro, puedes probar con el árbol de portage.

PD: Corres peligro de decir adiós al efecto placebo del que estas disfrutando  :Wink: 

----------

## ensarman

jaja ps si, los numeros no mienten, veremos que nos dicen...

----------

## ensarman

bueno tenias razon, el aun no eh ejecutado el benchamark, pero me di cuenta que el kernel estaba siendo compilado por gcc

HOSTCC = pathcc

CC = gcc

luego de cambiar el CC a pathcc me salian multiples errores de compilacion

```
make

  CHK     include/linux/version.h

  CHK     include/generated/utsrelease.h

  HOSTCC  scripts/basic/fixdep

  CC      kernel/bounds.s

pathcc WARNING: -mno-mmx is ignored

  GEN     include/generated/bounds.h

  CC      arch/x86/kernel/asm-offsets.s

pathcc WARNING: -mno-mmx is ignored

  GEN     include/generated/asm-offsets.h

  CALL    scripts/checksyscalls.sh

pathcc WARNING: -mno-mmx is ignored

  CC      scripts/mod/empty.o

pathcc WARNING: -mno-mmx is ignored

  HOSTCC  scripts/mod/mk_elfconfig

  MKELF   scripts/mod/elfconfig.h

  HOSTCC  scripts/mod/file2alias.o

  HOSTCC  scripts/mod/modpost.o

  HOSTCC  scripts/mod/sumversion.o

  HOSTLD  scripts/mod/modpost

  HOSTCC  scripts/kallsyms

  HOSTCC  scripts/conmakehash

  HOSTCC  scripts/bin2c

  CC      init/main.o

pathcc WARNING: -mno-mmx is ignored

Warning: variable _flags in start_kernel might be used uninitialized

Warning: variable _flags in start_kernel might be used uninitialized

Warning: variable _flags in do_one_initcall might be used uninitialized

Warning: variable pfo_ret__ in kernel_init might be used uninitialized

/tmp/pathcc-s-74b0dc51.s: Assembler messages:

/tmp/pathcc-s-74b0dc51.s:2453: Error: bad memory operand `%rdi'

/tmp/pathcc-s-74b0dc51.s:3314: Error: bad memory operand `%rax'

/tmp/pathcc-s-74b0dc51.s:3398: Error: bad memory operand `%rax'

/tmp/pathcc-s-74b0dc51.s:3444: Error: bad memory operand `%rax'

/tmp/pathcc-s-74b0dc51.s:3518: Error: bad memory operand `%rax'

/tmp/pathcc-s-74b0dc51.s:3743: Error: bad memory operand `%rax'

/tmp/pathcc-s-74b0dc51.s:3900: Error: bad memory operand `%rax'

/tmp/pathcc-s-74b0dc51.s:3916: Error: bad memory operand `%rax'

/tmp/pathcc-s-74b0dc51.s:3926: Error: bad memory operand `%rdi'

/tmp/pathcc-s-74b0dc51.s:3950: Error: bad memory operand `%rdi'

/tmp/pathcc-s-74b0dc51.s:3961: Error: bad memory operand `%rax'

make[1]: *** [init/main.o] Error 1

make: *** [init] Error 2

```

----------

## cameta

Y todo esto para una ganancia de rendimiento que puede ser prácticamente inapreciable en una máquina domestica.  :Sad: 

----------

## ensarman

bueno no hagas estres, me dan ganas de ver que pasa  :Razz:  simplemente eso.

----------

