Difference between revisions of "User:Ssvb"

From D Wiki
Jump to: navigation, search
(Associative arrays and hash collisions)
Line 56: Line 56:
 
* https://www.josephkirwin.com/2018/04/07/z3-hash-inversions
 
* https://www.josephkirwin.com/2018/04/07/z3-hash-inversions
 
* http://emboss.github.io/blog/2012/12/14/breaking-murmur-hash-flooding-dos-reloaded/
 
* http://emboss.github.io/blog/2012/12/14/breaking-murmur-hash-flooding-dos-reloaded/
 +
 +
== Long term support version of D language ==
 +
 +
The 2.076 frontend from GDC 9/10/11 can be essentially treated as a D language "edition 2017". This old frontend can be also added to GDC 12 by essentially reverting the frontend upgrade commits, but preferably both new frontends should be supported in a single compiler release and selected via '-std=' option.
 +
 +
* https://forum.dlang.org/post/sysghhzfdyojcbosxlkm@forum.dlang.org

Revision as of 08:16, 25 July 2022

D language for programming competitions

Not everything is perfect:

GDC tips and tricks

GDC 11+ requires "-flto" or "-fno-weak-templates" option to avoid a major performance regression: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102765

Shared library linking workaround to run phobos unit tests: https://bugzilla.gdcproject.org/show_bug.cgi?id=199

Demangle symbols: https://dlang.org/phobos/std_demangle.html

Mingw build and test instructions: TODO

Arithmetic overflows

TODO: create a new DIP? https://forum.dlang.org/post/rclilxjpnjvexggncfhd@forum.dlang.org

TODO: Atomic operations and arithmetic overflows?

TODO: Unsigned overflows?

GDC supports "-ftrapv" easter egg option for trapping signed overflows.

Relevant links:

GCC history of -fno-strict-aliasing and -fwrapv:

Associative arrays and hash collisions

https://forum.dlang.org/post/navsnrjweslsqeaawsev@forum.dlang.org

A hacked solution on codeforces: https://codeforces.com/contest/1676/submission/156707849

Relevant links:

Long term support version of D language

The 2.076 frontend from GDC 9/10/11 can be essentially treated as a D language "edition 2017". This old frontend can be also added to GDC 12 by essentially reverting the frontend upgrade commits, but preferably both new frontends should be supported in a single compiler release and selected via '-std=' option.