digitalmars.D - LDC 0.9.2 release candidate
- Christian Kamm (7/7) Feb 13 2010 I made a new package based on LDC trunk (DMDFE 1.056, LLVM 2.6) and Tang...
- Manuel =?ISO-2022-JP?B?SxskKEQrUxsoQm5pZw==?= (6/6) Feb 13 2010 Thank you very much for this new RC. I had some compilation errors at
- Ellery Newcomer (3/10) Feb 13 2010 Is it just me, or does ldc handle gratuitous use of ~= much more poorly
- Ellery Newcomer (6/21) Feb 13 2010 And I get an assertion failure on garbage code
- bearophile (5/7) Feb 13 2010 Yep. But Tango/LDC devs have ignored me about this so far.
- Ellery Newcomer (5/9) Feb 13 2010 It isn't a tango problem; the latest dmd/tango bundle works fine.
- Christian Kamm (6/8) Feb 14 2010 Yes, LDC did ~= by doing length += 1 and then assigning the last element...
- Ellery Newcomer (9/17) Feb 14 2010 Hm. That didn't change anything. I'm beginning to think ~= is only part
- bearophile (26/29) Feb 14 2010 DMD/D1/Phobos:
- bearophile (18/18) Feb 14 2010 DMD/D1/Phobos + dlibs:
- bearophile (3/3) Feb 13 2010 I have tried the latest "daily" build, and I think it produces larger bi...
I made a new package based on LDC trunk (DMDFE 1.056, LLVM 2.6) and Tango 0.99.9. It's only for x86-64 for now and available at: http://www.incasoftware.de/~kamm/ldc/ldc-0.9.2-x86_64-rc1.tbz2 Could everyone interested in this give it a spin and report back if you hit a critical issue? (either here, on the ldc bug tracker or to me directly) Regards, Christian
Feb 13 2010
Thank you very much for this new RC. I had some compilation errors at first with my project (about 90 modules + derelict + tango ~ 196 modules), but it turned out that these we're just false positives that compiled before and we're actually errors in my code and an old derelict realease. Updating derelict and fixing one line in my code resolved the issues, so thumbs up :)
Feb 13 2010
On 02/13/2010 04:28 AM, Christian Kamm wrote:I made a new package based on LDC trunk (DMDFE 1.056, LLVM 2.6) and Tango 0.99.9. It's only for x86-64 for now and available at: http://www.incasoftware.de/~kamm/ldc/ldc-0.9.2-x86_64-rc1.tbz2 Could everyone interested in this give it a spin and report back if you hit a critical issue? (either here, on the ldc bug tracker or to me directly) Regards, ChristianIs it just me, or does ldc handle gratuitous use of ~= much more poorly than dmd?
Feb 13 2010
On 02/13/2010 01:34 PM, Ellery Newcomer wrote:On 02/13/2010 04:28 AM, Christian Kamm wrote:And I get an assertion failure on garbage code void main(){ int[] a; a[length++] = 1; }I made a new package based on LDC trunk (DMDFE 1.056, LLVM 2.6) and Tango 0.99.9. It's only for x86-64 for now and available at: http://www.incasoftware.de/~kamm/ldc/ldc-0.9.2-x86_64-rc1.tbz2 Could everyone interested in this give it a spin and report back if you hit a critical issue? (either here, on the ldc bug tracker or to me directly) Regards, ChristianIs it just me, or does ldc handle gratuitous use of ~= much more poorly than dmd?
Feb 13 2010
Ellery Newcomer:Is it just me, or does ldc handle gratuitous use of ~= much more poorly than dmd?Yep. But Tango/LDC devs have ignored me about this so far. You can also try to time the opIn_r on AAs :o] It's (probably) quite bad with LDC+Tango compared to DMD+Phobos. I don't know why. Bye, bearophile
Feb 13 2010
On 02/13/2010 01:43 PM, bearophile wrote:Ellery Newcomer:It isn't a tango problem; the latest dmd/tango bundle works fine. And I tried replacing the int[]'s and int[][]'s with a quickie Appender implementation, and it still sucks. 5 seconds to convert a 15 kB file to a int[][].Is it just me, or does ldc handle gratuitous use of ~= much more poorly than dmd?Yep. But Tango/LDC devs have ignored me about this so far.
Feb 13 2010
Ellery Newcomer wrote:Is it just me, or does ldc handle gratuitous use of ~= much more poorly than dmd?Yes, LDC did ~= by doing length += 1 and then assigning the last element. ;) I changed it to use the appropriate runtime function. Please try again with: http://www.incasoftware.de/~kamm/ldc/ldc-0.9.2-x86_64-rc2.tbz2 Christian
Feb 14 2010
On 02/14/2010 03:16 AM, Christian Kamm wrote:Ellery Newcomer wrote:Hm. That didn't change anything. I'm beginning to think ~= is only part of the problem. Well, if you like, here's my little program and its data file: http://personal.utulsa.edu/~ellery-newcomer/test.d http://personal.utulsa.edu/~ellery-newcomer/euler67.txt And now that I look at it, even dmd generated executables are getting their pants wupped by an equivalent python script. Suggestions for a more efficient use of tango are welcome.Is it just me, or does ldc handle gratuitous use of ~= much more poorly than dmd?Yes, LDC did ~= by doing length += 1 and then assigning the last element. ;) I changed it to use the appropriate runtime function. Please try again with: http://www.incasoftware.de/~kamm/ldc/ldc-0.9.2-x86_64-rc2.tbz2 Christian
Feb 14 2010
Ellery Newcomer:And now that I look at it, even dmd generated executables are getting their pants wupped by an equivalent python script. Suggestions for a more efficient use of tango are welcome.DMD/D1/Phobos: import std.stream: BufferedFile; import std.string: split; import std.conv: toInt; import std.stdio: writefln; T max(T)(T x, T y) { return x >= y ? x : y; } void main() { int[][] triangle; foreach (string line; new BufferedFile("triangle.txt")) { auto parts = line.split(); auto line_nums = new int[parts.length]; foreach (i, num; parts) line_nums[i] = toInt(num); triangle ~= line_nums; } while (triangle.length > 1) { auto last_row = triangle[$ - 1]; for (int i; i < triangle.length - 1; i++) triangle[$ - 2][i] += max(last_row[i], last_row[i + 1]); triangle.length = triangle.length - 1; } writefln(triangle[0][0]); } Bye, bearophile
Feb 14 2010
DMD/D1/Phobos + dlibs: import std.conv: toInt; import d.string: xsplit; import d.xio: xfile; import d.func: max, select, map, putr, xrange, pop; void main() { string line; auto triangle = select(map(&toInt, line.xsplit()), line, xfile("triangle.txt")); while (triangle.length > 1) { auto last_row = triangle[$ - 1]; foreach (i; xrange(triangle.length - 1)) triangle[$ - 2][i] += max(last_row[i], last_row[i + 1]); triangle.pop(); } putr(triangle[0][0]); } Bye, bearophile
Feb 14 2010
I have tried the latest "daily" build, and I think it produces larger binaries, compared to the precedent "daily" build. Bye, bearophile
Feb 13 2010