Jump to page: 1 2
Thread overview
[Issue 7157] Optimiser is O(n^2) w.r.t. function length
Mar 03, 2015
Martin Nowak
Mar 03, 2015
Martin Nowak
Mar 03, 2015
Jonathan M Davis
Mar 06, 2015
Martin Nowak
Nov 07, 2015
Martin Nowak
Nov 08, 2015
Martin Nowak
Dec 22, 2016
Daniel Kozak
Dec 22, 2016
Jack Stouffer
Dec 22, 2016
Walter Bright
Dec 23, 2016
Walter Bright
Dec 23, 2016
ZombineDev
Apr 29, 2020
safety0ff.bugz
Apr 29, 2020
safety0ff.bugz
Apr 09, 2021
Iain Buclaw
Apr 09, 2021
Walter Bright
Apr 20, 2021
Walter Bright
Dec 17, 2022
Iain Buclaw
Oct 05, 2023
Basile-z
March 03, 2015
https://issues.dlang.org/show_bug.cgi?id=7157

Martin Nowak <code@dawg.eu> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |code@dawg.eu

--- Comment #4 from Martin Nowak <code@dawg.eu> ---
I'm getting excessive compile times for a few phobos modules in release
unittests.
Most notably std.regex.internal.tests, and std.datetime.
Can we try to do the static foreach delegate trick again?

time ../dmd/src/dmd -conf= -I../druntime/import  -w -dip25 -m64  -O -release
-unittest -c -ofgenerated/osx/release/64/unittest/std/datetime.o
-deps=generated/osx/release/64/unittest/std/datetime.deps.tmp std/datetime.d
      180.96 real       132.19 user        48.76 sys
time ../dmd/src/dmd -conf= -I../druntime/import  -w -dip25 -m64  -O -release
-unittest -c -ofgenerated/osx/release/64/unittest/std/random.o
-deps=generated/osx/release/64/unittest/std/random.deps.tmp std/random.d
       21.23 real        15.68 user         5.53 sys
time ../dmd/src/dmd -conf= -I../druntime/import  -w -dip25 -m64  -O -release
-unittest -c -ofgenerated/osx/release/64/unittest/std/regex/internal/tests.o
-deps=generated/osx/release/64/unittest/std/regex/internal/tests.deps.tmp
std/regex/internal/tests.d
      250.31 real       184.75 user        65.55 sys

--
March 03, 2015
https://issues.dlang.org/show_bug.cgi?id=7157

--- Comment #5 from Martin Nowak <code@dawg.eu> ---
Most CPU time is spent in `updaterd` and `accumaecpx` if that helps.

https://github.com/D-Programming-Language/dmd/blob/82b031c22f18334a7edeff437260b6802070a9e3/src/backend/gloop.c#L1263 https://github.com/D-Programming-Language/dmd/blob/e43136308f7eb035d046a99a46ffbdaf880413b7/src/backend/gflow.c#L907

--
March 03, 2015
https://issues.dlang.org/show_bug.cgi?id=7157

Jonathan M Davis <issues.dlang@jmdavisProg.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |issues.dlang@jmdavisProg.co
                   |                            |m

--- Comment #6 from Jonathan M Davis <issues.dlang@jmdavisProg.com> ---
(In reply to Martin Nowak from comment #4)
> Can we try to do the static foreach delegate trick again?

Which trick are you referring to?

--
March 06, 2015
https://issues.dlang.org/show_bug.cgi?id=7157

--- Comment #7 from Martin Nowak <code@dawg.eu> ---
(In reply to Jonathan M Davis from comment #6)
> Which trick are you referring to?

https://github.com/D-Programming-Language/phobos/pull/2767

--
November 07, 2015
https://issues.dlang.org/show_bug.cgi?id=7157

--- Comment #8 from Martin Nowak <code@dawg.eu> ---
Another case of this.
https://github.com/etcimon/botan/issues/8
It took dmd almost 13 minutes to compile botan w/ release optimizations on
heroku (and about 4 minutes on my local machine).

--
November 08, 2015
https://issues.dlang.org/show_bug.cgi?id=7157

--- Comment #9 from Martin Nowak <code@dawg.eu> ---
Could we fix this for now by letting dmd backoff from very big functions?
Or if someone understands accumaecpx well enough, maybe the optimization can be
windowed to 1000 expressions/statements or so.

--
December 22, 2016
https://issues.dlang.org/show_bug.cgi?id=7157

Daniel Kozak <kozzi11@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |chalucha@gmail.com

--- Comment #10 from Daniel Kozak <kozzi11@gmail.com> ---
*** Issue 14939 has been marked as a duplicate of this issue. ***

--
December 22, 2016
https://issues.dlang.org/show_bug.cgi?id=7157

Andrei Alexandrescu <andrei@erdani.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |andrei@erdani.com

--- Comment #11 from Andrei Alexandrescu <andrei@erdani.com> ---
I just realized that a precise GC using introspection would use exactly this facility.

--
December 22, 2016
https://issues.dlang.org/show_bug.cgi?id=7157

Jack Stouffer <jack@jackstouffer.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |performance
                 CC|                            |jack@jackstouffer.com
           Hardware|x86                         |All
                 OS|Mac OS X                    |All

--
December 22, 2016
https://issues.dlang.org/show_bug.cgi?id=7157

Walter Bright <bugzilla@digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bugzilla@digitalmars.com

--- Comment #12 from Walter Bright <bugzilla@digitalmars.com> ---
There is some quadratic behavior in the function bodies of `updaterd` and `accumaecpx` (look for the loops). They can both be fixed.

--
« First   ‹ Prev
1 2