digitalmars.D - DustMite updated
- "Vladimir Panteleev" <vladimir thecybershadow.net> Feb 22 2012
- Iain Buclaw <ibuclaw ubuntu.com> Feb 23 2012
- Trass3r <un known.com> Feb 23 2012
- Trass3r <un known.com> Feb 23 2012
- Robert Clipsham <robert octarineparrot.com> Feb 23 2012
- "Nick Sabalausky" <a a.a> Feb 23 2012
- "Vladimir Panteleev" <vladimir thecybershadow.net> Feb 23 2012
- "Vladimir Panteleev" <vladimir thecybershadow.net> Mar 04 2012
- Chad J <chadjoan __spam.is.bad__gmail.com> Mar 04 2012
- Dmitry Olshansky <dmitry.olsh gmail.com> Mar 04 2012
- Chad J <chadjoan __spam.is.bad__gmail.com> Mar 04 2012
- Trass3r <un known.com> Mar 04 2012
- Andrej Mitrovic <andrej.mitrovich gmail.com> Mar 04 2012
- "H. S. Teoh" <hsteoh quickfur.ath.cx> Mar 04 2012
- Andrej Mitrovic <andrej.mitrovich gmail.com> Mar 04 2012
- Chad J <chadjoan __spam.is.bad__gmail.com> Mar 04 2012
- Trass3r <un known.com> Mar 04 2012
- Trass3r <un known.com> Mar 04 2012
- Trass3r <un known.com> Mar 04 2012
- Andrej Mitrovic <andrej.mitrovich gmail.com> Mar 04 2012
- Andrej Mitrovic <andrej.mitrovich gmail.com> Mar 04 2012
- "Tove" <tove fransson.se> Mar 04 2012
- "Vladimir Panteleev" <vladimir thecybershadow.net> Mar 04 2012
- "Marco Leise" <Marco.Leise gmx.de> Mar 08 2012
I played with some algorithms today and got about a 7x improvement in reduction time for my test case. The data is now arranged into a binary tree, and the progress indicator was changed to reflect that. Let me know if I broke anything in the process. No new features have been added. Still thinking about how to handle lists. --- DustMite is a tool which minimizes D source code. https://github.com/CyberShadow/DustMite
Feb 22 2012
On 23 February 2012 02:25, Vladimir Panteleev <vladimir thecybershadow.net> wrote:I played with some algorithms today and got about a 7x improvement in reduction time for my test case. The data is now arranged into a binary tree, and the progress indicator was changed to reflect that. Let me know if I broke anything in the process. No new features have been added. Still thinking about how to handle lists. --- DustMite is a tool which minimizes D source code. https://github.com/CyberShadow/DustMite
Awesome! I'll get testing tonight. :) -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0';
Feb 23 2012
I played with some algorithms today and got about a 7x improvement in reduction time for my test case. The data is now arranged into a binary tree, and the progress indicator was changed to reflect that. Let me know if I broke anything in the process.
Hooray, DustMite ftw!
Feb 23 2012
On 23/02/2012 13:05, Vladimir Panteleev wrote:On Thursday, 23 February 2012 at 11:52:17 UTC, Trass3r wrote:Unfortunately plenty of 64Bit errors again :/
I can't test for these easily (I wish DMD on Windows had -m64 working with -o-).
Fixed - https://github.com/CyberShadow/DustMite/pull/7 -- Robert http://octarineparrot.com/
Feb 23 2012
"Vladimir Panteleev" <vladimir thecybershadow.net> wrote in message news:mnaydzddphyxlgpswddi forum.dlang.org...On Thursday, 23 February 2012 at 11:52:17 UTC, Trass3r wrote:Unfortunately plenty of 64Bit errors again :/
I can't test for these easily (I wish DMD on Windows had -m64 working with -o-).
As a Windows guy on a 32-bit machine (yes, yea, I know, I know, "that's old", "you should upgrade", etc), I always test 64-bit (on a 64-bit machine that I at least have access to) by using a 64-bit Debian 6 LiveDVD with USB persistence: http://www.linuxquestions.org/questions/debian-26/live-dvd-but-save-to-usb-913698/#post4526688 I use that to do 64-bit testing right before any release. Not nearly as nice as -m64, but it works well enough for me. It sucks that you can't run a 64-bit OS in a VM without hardare virtualization (which many Intels don't have), even on a 64-bit machine with a 64-bit host OS (Hmm...or is that restriction only on 64-bit machines with 32-bit host OSes...? I forgot...).
Feb 23 2012
On Thursday, 23 February 2012 at 11:52:17 UTC, Trass3r wrote:Unfortunately plenty of 64Bit errors again :/
I can't test for these easily (I wish DMD on Windows had -m64 working with -o-).
Feb 23 2012
I pushed out another large update today[1]. Changes include comma-separated list support (no more stray empty modules), a better progress indicator, a more useful/intuitive --noremove option, several bugfixes, as well as a large internal overhaul and the arrival to the bottom of my to-do list :) So, I consider DustMite completed for the moment. The latest version is available on GitHub: https://github.com/CyberShadow/DustMite [1]: https://github.com/CyberShadow/DustMite/compare/c8f1fd...7ac43d
Mar 04 2012
On 03/04/2012 12:04 PM, Andrej Mitrovic wrote:On 3/4/12, Vladimir Panteleev<vladimir thecybershadow.net> wrote:I pushed out another large update today.
I can't believe I'm saying this, but I can't wait for my next ICE to try it out. :p
Here's one for DMD 2.057. Knock yourself out ;) (As I mentioned in my other post, I can't build DustMite right now, or I'd do it myself. But if you want one...) ---------------------------------------------- chad Hugin ~/dprojects/database $ dmd ice.d entity.(fld) Internal error: e2ir.c 683 ---------------------------------------------- import std.stdio; scope class Query(string queryText) { static class Entity { private static size_t bufSize = 0; private static size_t[string] offsets; private static size_t registerField(T)(string varName) { auto offset = bufSize; offsets[varName] = offset; bufSize += T.sizeof; return offset; } private void[] buf; class fld(T,string varName) { T opCall() { auto i1 = offsets[varName]; return cast(T)buf[i1 .. i1 + T.sizeof]; } static this() { registerField!T(varName); } } this() { buf = new void[bufSize]; writefln("offsets = %s\n", offsets); } ~this() { delete buf; } } Entity e; this() { e = new Entity(); } } void main() { scope query = new Query!( "SELECT ONLY_NEEDED_COLUMNS" "FROM contacts c" "WHERE c.country = 'US'" "AND c.sales > 10000;")(); auto entity = query.e; //foreach(entity; query) //{ auto email_addy = entity.fld!(char[],"email")(); auto full_name = entity.fld!(char[],"name")(); //Email.spam(email_addy, full_name, "We have this great new offer for you!"); //} }
Mar 04 2012
On 04.03.2012 23:17, Andrej Mitrovic wrote:On 3/4/12, Chad J<chadjoan __spam.is.bad__gmail.com> wrote:Here's one for DMD 2.057. Knock yourself out ;)
It's reproducible in 2.058 too. Reduced test-case: http://paste.pocoo.org/show/560891/ That ran really really fast compared to older versions of dustmite. Great work Vlad. :)
OT: that should have been Vova ;) -- Dmitry Olshansky
Mar 04 2012
On 03/04/2012 02:12 PM, Trass3r wrote:Here's one for DMD 2.057. Knock yourself out ;) (As I mentioned in my other post, I can't build DustMite right now, or I'd do it myself. But if you want one...) ---------------------------------------------- chad Hugin ~/dprojects/database $ dmd ice.d entity.(fld) Internal error: e2ir.c 683 ----------------------------------------------
Done in 280 tests and 20 secs and 934 ms; http://d.puremagic.com/issues/show_bug.cgi?id=7645
Cool!
Mar 04 2012
On 3/4/12, Vladimir Panteleev <vladimir thecybershadow.net> wrote:I pushed out another large update today.
I can't believe I'm saying this, but I can't wait for my next ICE to try it out. :p
Mar 04 2012
On Sun, Mar 04, 2012 at 06:04:36PM +0100, Andrej Mitrovic wrote:On 3/4/12, Vladimir Panteleev <vladimir thecybershadow.net> wrote:I pushed out another large update today.
I can't believe I'm saying this, but I can't wait for my next ICE to try it out. :p
Just play around with AA's a bit and you'll run into lots of them. ;-) Especially unusual AA's, like unusual key types. T -- One reason that few people are aware there are programs running the internet is that they never crash in any significant way: the free software underlying the internet is reliable to the point of invisibility. -- Glyn Moody, from the article "Giving it all away"
Mar 04 2012
On 3/4/12, H. S. Teoh <hsteoh quickfur.ath.cx> wrote:Just play around with AA's a bit and you'll run into lots of them. ;-) Especially unusual AA's, like unusual key types.
Oh don't worry, I'm all too familiar with ICEs. :) They do mostly show up when doing metaprogramming and not that often in regular code.
Mar 04 2012
On 02/22/2012 09:25 PM, Vladimir Panteleev wrote:I played with some algorithms today and got about a 7x improvement in reduction time for my test case. The data is now arranged into a binary tree, and the progress indicator was changed to reflect that. Let me know if I broke anything in the process. No new features have been added. Still thinking about how to handle lists. --- DustMite is a tool which minimizes D source code. https://github.com/CyberShadow/DustMite
I ran into an ICE today and decided to try DustMite. I couldn't compile it though: chad Hugin ~/dprojects/dustmite $ dmd dustmite.d dsplit.d dustmite.d(873): expression expected, not '>' dustmite.d(873): found 'regex' when expecting ')' following template argument list dustmite.d(873): semicolon expected following auto declaration, not ')' dustmite.d(873): found ')' instead of statement DMD32 D Compiler v2.057 on Gentoo Linux If it's because my compiler is a version behind, then don't worry about it too much. I haven't updated because issue 5278 (http://d.puremagic.com/issues/show_bug.cgi?id=5278) makes it a pain for me to upgrade the dmd.
Mar 04 2012
If it's because my compiler is a version behind, then don't worry about it too much.
Yep it uses the new => syntax.
Mar 04 2012
Here's one for DMD 2.057. Knock yourself out ;) (As I mentioned in my other post, I can't build DustMite right now, or I'd do it myself. But if you want one...) ---------------------------------------------- chad Hugin ~/dprojects/database $ dmd ice.d entity.(fld) Internal error: e2ir.c 683 ----------------------------------------------
Done in 280 tests and 20 secs and 934 ms; http://d.puremagic.com/issues/show_bug.cgi?id=7645
Mar 04 2012
I can't believe I'm saying this, but I can't wait for my next ICE to try it out. :p
Me too :D
Mar 04 2012
On 3/4/12, Chad J <chadjoan __spam.is.bad__gmail.com> wrote:Here's one for DMD 2.057. Knock yourself out ;)
It's reproducible in 2.058 too. Reduced test-case: http://paste.pocoo.org/show/560891/ That ran really really fast compared to older versions of dustmite. Great work Vlad. :)
Mar 04 2012
On 3/4/12, Trass3r <un known.com> wrote:I can't believe I'm saying this, but I can't wait for my next ICE to try it out. :p
Me too :D
Son of a gun, you beat me to it! lol
Mar 04 2012
On Sunday, 4 March 2012 at 19:43:47 UTC, Chad J wrote:On 03/04/2012 02:12 PM, Trass3r wrote:Here's one for DMD 2.057. Knock yourself out ;) (As I mentioned in my other post, I can't build DustMite right now, or I'd do it myself. But if you want one...) ---------------------------------------------- chad Hugin ~/dprojects/database $ dmd ice.d entity.(fld) Internal error: e2ir.c 683 ----------------------------------------------
Done in 280 tests and 20 secs and 934 ms; http://d.puremagic.com/issues/show_bug.cgi?id=7645
Cool!
Quite impressive tool, it can be reduced even further though. :) class Entity { class fld() { char t; } } void main() { Entity entity; auto email_addy = entity.fld!().t; }
Mar 04 2012
On Sunday, 4 March 2012 at 19:06:01 UTC, Trass3r wrote:If it's because my compiler is a version behind, then don't worry about it too much.
Yep it uses the new => syntax.
Fixed the 64-bit and 2.058-only problems, should build on older and x64 compilers now.
Mar 04 2012
Am 04.03.2012, 19:39 Uhr, schrieb Chad J <chadjoan __spam.is.bad__gmail.com>:DMD32 D Compiler v2.057 on Gentoo Linux If it's because my compiler is a version behind, then don't worry about it too much. I haven't updated because issue 5278 (http://d.puremagic.com/issues/show_bug.cgi?id=5278) makes it a pain for me to upgrade the dmd.
If you find any problems with the ebuilds, don't hesitate write an email to me for DMD2 or Julian "hasufell" Ospald for DMD1. (See http://overlays.gentoo.org/proj/sunrise/browser/reviewed/dev-lang/dmd/ChangeLog ) for the email address. They are taken from the discontinued d-overlay and updated to meet Portage ebuild writing standards. We may be able to sort out some Gentoo specific issues for already released versions of DMD via patches. I also keep the three most recent releases in the tree, so you can downgrade in case of problems. -- Marco
Mar 08 2012









Iain Buclaw <ibuclaw ubuntu.com> 