www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - TechEmpower Web Framework Performance Comparison Round 13 -- vibe.d

reply sanjayss <dummy dummy.dummy> writes:
https://www.techempower.com/benchmarks/#section=data-r13&hw=ph&test=json

anyone know why vibe.d is shown as "Did not complete" in all 
tests?
Nov 17 2016
next sibling parent reply Daniel Kozak via Digitalmars-d <digitalmars-d puremagic.com> writes:
Dne 17.11.2016 v 18:49 sanjayss via Digitalmars-d napsal(a):

 https://www.techempower.com/benchmarks/#section=data-r13&hw=ph&test=json

 anyone know why vibe.d is shown as "Did not complete" in all tests?
I guess they have moved from Ubuntu 12.04 to 16.04 which has PIE enabled now, and there are problems with D on it.
Nov 17 2016
parent reply thedeemon <dlang thedeemon.com> writes:
On Thursday, 17 November 2016 at 18:24:05 UTC, Daniel Kozak wrote:
 Dne 17.11.2016 v 18:49 sanjayss via Digitalmars-d napsal(a):
  Ubuntu 12.04 to 16.04 which has PIE enabled now, and there are 
 problems with D on it.
Where can I learn more about it?
Nov 18 2016
parent reply Daniel Kozak via Digitalmars-d <digitalmars-d puremagic.com> writes:
Dne 18.11.2016 v 11:46 thedeemon via Digitalmars-d napsal(a):

 On Thursday, 17 November 2016 at 18:24:05 UTC, Daniel Kozak wrote:
 Dne 17.11.2016 v 18:49 sanjayss via Digitalmars-d napsal(a):
  Ubuntu 12.04 to 16.04 which has PIE enabled now, and there are 
 problems with D on it.
Where can I learn more about it?
It has been typo, it should not be 16.04 but 16.10.
Nov 18 2016
next sibling parent reply qznc <qznc web.de> writes:
On Friday, 18 November 2016 at 11:02:20 UTC, Daniel Kozak wrote:
 Dne 18.11.2016 v 11:46 thedeemon via Digitalmars-d napsal(a):

 On Thursday, 17 November 2016 at 18:24:05 UTC, Daniel Kozak 
 wrote:
 Dne 17.11.2016 v 18:49 sanjayss via Digitalmars-d napsal(a):
  Ubuntu 12.04 to 16.04 which has PIE enabled now, and there 
 are problems with D on it.
Where can I learn more about it?
It has been typo, it should not be 16.04 but 16.10.
Why would you run a non-LTS Ubuntu on a server? Anyways, I could not find anything about the OS on the website. The only info about environment is: Physical hardware environment for Rounds 13 and beyond. Provided by ServerCentral. Dell R910 (4x 10-Core E7-4850 CPUs) application server; Dell R420 (2x 4-Core E5-2406 CPUs) database server; switched 10-gigabit Ethernet
Nov 18 2016
parent Daniel Kozak via Digitalmars-d <digitalmars-d puremagic.com> writes:
Dne 18.11.2016 v 14:31 qznc via Digitalmars-d napsal(a):

 On Friday, 18 November 2016 at 11:02:20 UTC, Daniel Kozak wrote:
 Dne 18.11.2016 v 11:46 thedeemon via Digitalmars-d napsal(a):

 On Thursday, 17 November 2016 at 18:24:05 UTC, Daniel Kozak wrote:
 Dne 17.11.2016 v 18:49 sanjayss via Digitalmars-d napsal(a):
  Ubuntu 12.04 to 16.04 which has PIE enabled now, and there are 
 problems with D on it.
Where can I learn more about it?
It has been typo, it should not be 16.04 but 16.10.
Why would you run a non-LTS Ubuntu on a server? Anyways, I could not find anything about the OS on the website. The only info about environment is: Physical hardware environment for Rounds 13 and beyond. Provided by ServerCentral. Dell R910 (4x 10-Core E7-4850 CPUs) application server; Dell R420 (2x 4-Core E5-2406 CPUs) database server; switched 10-gigabit Ethernet
It has been a guess, but base on 16.04 which is wrong, so it will be probably something else.
Nov 18 2016
prev sibling parent reply thedeemon <dlang thedeemon.com> writes:
On Friday, 18 November 2016 at 11:02:20 UTC, Daniel Kozak wrote:
  Ubuntu 12.04 to 16.04 which has PIE enabled now, and there 
 are problems with D on it.
Where can I learn more about it?
It has been typo, it should not be 16.04 but 16.10.
Err.. I mean, what is PIE and what kind of problems with D are there?
Nov 19 2016
next sibling parent reply Chris Wright <dhasenan gmail.com> writes:
On Sat, 19 Nov 2016 16:43:40 +0000, thedeemon wrote:

 On Friday, 18 November 2016 at 11:02:20 UTC, Daniel Kozak wrote:
  Ubuntu 12.04 to 16.04 which has PIE enabled now, and there
 are problems with D on it.
Where can I learn more about it?
It has been typo, it should not be 16.04 but 16.10.
Err.. I mean, what is PIE and what kind of problems with D are there?
Position-Independent Executable, which is a binary that works with Address Space Layout Randomization. ASLR is a speedbump for attackers -- it puts the stack, heap, and text of your program in random locations on each execution, so an attacker has a lot more work to access globals or specific functions. I don't know what issues D has with them, but I'd guess it has hard-coded locations for global variables or static data or something.
Nov 19 2016
parent Lodovico Giaretta <lodovico giaretart.net> writes:
On Saturday, 19 November 2016 at 21:26:28 UTC, Chris Wright wrote:
 On Sat, 19 Nov 2016 16:43:40 +0000, thedeemon wrote:

 On Friday, 18 November 2016 at 11:02:20 UTC, Daniel Kozak 
 wrote:
  Ubuntu 12.04 to 16.04 which has PIE enabled now, and there
 are problems with D on it.
Where can I learn more about it?
It has been typo, it should not be 16.04 but 16.10.
Err.. I mean, what is PIE and what kind of problems with D are there?
Position-Independent Executable, which is a binary that works with Address Space Layout Randomization. ASLR is a speedbump for attackers -- it puts the stack, heap, and text of your program in random locations on each execution, so an attacker has a lot more work to access globals or specific functions. I don't know what issues D has with them, but I'd guess it has hard-coded locations for global variables or static data or something.
As I understand it (I actually use Ubuntu 16.10 and D on it), the only problem is that to produce PIE executables you need the compiler to emit PIC object code (Position Independent Code). DMD can produce it with the flag -fPIC, but the standard library is compiled without this flag, so the linker rejects it. The current workaround is to dynamically link to the shared version of Phobos, because shared libraries are position independent by default. The other alternative should be to recompile Phobos with -fPIC, but I'm too lazy to investigate this.
Nov 19 2016
prev sibling parent reply deadalnix <deadalnix gmail.com> writes:
On Saturday, 19 November 2016 at 16:43:40 UTC, thedeemon wrote:
 On Friday, 18 November 2016 at 11:02:20 UTC, Daniel Kozak wrote:
  Ubuntu 12.04 to 16.04 which has PIE enabled now, and there 
 are problems with D on it.
Where can I learn more about it?
It has been typo, it should not be 16.04 but 16.10.
Err.. I mean, what is PIE and what kind of problems with D are there?
DMD emit relocation data that linker can't make sense of, that's what happens. So you can't link anything that wasn't compiled with -fPIC, even if you aren't using shared object, and the standard lib doesn't work.
Nov 19 2016
parent thedeemon <dlang thedeemon.com> writes:
On Saturday, 19 November 2016 at 22:19:58 UTC, deadalnix wrote:

 Err.. I mean, what is PIE and what kind of problems with D are 
 there?
DMD emit relocation data that linker can't make sense of, that's what happens. So you can't link anything that wasn't compiled with -fPIC, even if you aren't using shared object, and the standard lib doesn't work.
Thanks!
Nov 20 2016
prev sibling next sibling parent Daniel Kozak via Digitalmars-d <digitalmars-d puremagic.com> writes:
Dne 17.11.2016 v 19:24 Daniel Kozak napsal(a):

 Dne 17.11.2016 v 18:49 sanjayss via Digitalmars-d napsal(a):

 https://www.techempower.com/benchmarks/#section=data-r13&hw=ph&test=json

 anyone know why vibe.d is shown as "Did not complete" in all tests?
I guess they have moved from Ubuntu 12.04 to 16.04 which has PIE enabled now, and there are problems with D on it.
Btw. https://www.techempower.com/blog/2016/11/16/framework-benchmarks-round-13/ OK after reading this I am bit skeptical, I do not belive in results anymore :(. Probably is a good time to write another framework benchmark
Nov 17 2016
prev sibling parent Daniel Kozak <kozzi11 gmail.com> writes:
On Thursday, 17 November 2016 at 17:49:09 UTC, sanjayss wrote:
 https://www.techempower.com/benchmarks/#section=data-r13&hw=ph&test=json

 anyone know why vibe.d is shown as "Did not complete" in all 
 tests?
So I have investigated it and find out the reason is probably some memory leak. It is impossible to run vibed test. Every time it is killed by oom killer or there is a exception about unable to allocate memory. But when I enable VibeManualMemoryManagement version it works ok (2GB+ -> 600MB)
Nov 24 2016