MagicBobert

- friends
533 link karma
2,012 comment karma
send messageredditor for
what's this?

TROPHY CASE


  • One-Year Club

    Verified Email

CSU Chancellor Reed Retires, Thoughts? by tumbleweed1993sfin CalPoly

[–]MagicBobert 0 points1 point ago

Baker screwed that one up forever when he fixed the golf tournament.

CSU Chancellor Reed Retires, Thoughts? by tumbleweed1993sfin CalPoly

[–]MagicBobert 5 points6 points ago

This is best thing that has happened to the CSU system in a long time. There is absolutely no way his successor could be worse.

Building a Scripting Language by isnotarobotin gamedev

[–]MagicBobert 3 points4 points ago

Learning how languages work is a great reason for creating your own. You'll absolutely learn a lot, and that knowledge can be very helpful down the line. I've implemented my own simple languages twice (once interpreted and once compiled) and it was great fun and I learned a ton.

But be careful about using overhead and simplicity as motivating reasons, because you probably aren't going to beat something like Lua in terms of simplicity or LuaJIT in terms of speed no matter how hard you try. The massive amount of experience and domain knowledge you would need to do so would take you years upon years of careful study and research.

And it actually turns out that you can implement a lot nice stuff on top of other languages. Racket (and to some extent, Lua) are great for that. For example, I'm currently using LuaJIT with some extensions I wrote to power my own shading language for my M.S. thesis and it's worked out really nicely so far.

Building a Scripting Language by isnotarobotin gamedev

[–]MagicBobert 4 points5 points ago

Is there a particular reason why you'd like to create your own over using something fairly well established?

D is a dragon, or why D matters for Bioinformatics by andralexin programming

[–]MagicBobert 0 points1 point ago

I have very high hopes for this, but I think the biggest challenge it faces is that nobody seems to agree on what a C++ module system encompasses. It will be awesome if/when this happens, but there's a long road ahead for it, especially since it's likely only one major feature will make it in the next standard and there are more fully formed candidates like concepts and static if to contend with.

D is a dragon, or why D matters for Bioinformatics by andralexin programming

[–]MagicBobert 9 points10 points ago

Indeed it is. But the author was comparing strong typing to dynamic typing (which is a comparison that doesn't make much sense), when he probably just misspoke and meant static typing.

For example, you can be both strong and dynamic (Python) and weak and static (C).

D is a dragon, or why D matters for Bioinformatics by andralexin programming

[–]MagicBobert 15 points16 points ago

[Garbage collection] kills performance.

No. There is nothing inherently bad about a garbage collector.

Dynamic allocation in a tight loop is what kills performance. Even in C and C++ you see people avoiding dynamic allocation like the plague in those situations, or at least trying to amortize and minimize the cost using techniques like memory pools and memory arenas. You can do all of that in a garbage collected language, too, with no extra overhead.

If, instead, you said that having a garbage collector can sometimes encourage lazy programming where you think allocations are cheap and free, then yes, I would agree. But writing code like that in a performance-sensitive loop is a big no-no anyway. Having a garbage collector around isn't a free pass to be wasteful with memory.

Garbage collectors do not solve memory allocation problems. They solve memory ownership problems.

D is a dragon, or why D matters for Bioinformatics by andralexin programming

[–]MagicBobert 5 points6 points ago

C++11 is a great step forward (believe me, I'm loving type inference, lambdas, range-for, etc. in my daily work) but it still leaves a LOT to be desired that D addresses head-on.

In particular, C++ still has a completely braindead compilation model that is based on textual inclusion rather than symbolic imports. Sadly this isn't really something that can be changed, because it's such a fundamental part of how the language works and its backwards compatibility with C.

D is a dragon, or why D matters for Bioinformatics by andralexin programming

[–]MagicBobert 11 points12 points ago

Some newer languages, such as Scala and D, are not only strongly typed, which has a real impact on performance, but are also very good at automatically handling types. This means that coding Scala or D, feels similar to coding dynamically typed languages.

I think the author mean statically typed. Static vs. dynamic and strong vs. weak are somewhat orthogonal concepts when it comes to type systems.

Visual Studio 11 Express (Free) Editions will only target Metro Apps by wordsmithiein programming

[–]MagicBobert 3 points4 points ago

That's great, but once again, I don't care about Metro.

I care about the C++ compiler, which is no longer included in the free version of Visual Studio or in the platform SDK.

Visual Studio 11 Express (Free) Editions will only target Metro Apps by wordsmithiein programming

[–]MagicBobert 0 points1 point ago

Both CMake and SCons are substantially larger and more complex. Personally I like Premake because it's small, sleek, and the syntax is easy to keep in your head.

It's also distributed as a single binary, no dependencies, so it's lightweight even for small projects.

Visual Studio 11 Express (Free) Editions will only target Metro Apps by wordsmithiein programming

[–]MagicBobert 5 points6 points ago

I write real-time graphics applications in C++. I need native code for speed, and draw everything myself anyway, so I don't need their UI toolkit stuff.

Visual Studio 11 Express (Free) Editions will only target Metro Apps by wordsmithiein programming

[–]MagicBobert 8 points9 points ago

If you're a full-time developer targeting the Windows platform I'm sure the $1200 is worth it. But for an open source developer who only tangentially supports Windows builds, $1200 is a big pill to swallow.

Visual Studio 11 Express (Free) Editions will only target Metro Apps by wordsmithiein programming

[–]MagicBobert -2 points-1 points ago

Maybe they do? I don't know. I don't keep up all that much with the happenings in Microsoftland.

Visual Studio 11 Express (Free) Editions will only target Metro Apps by wordsmithiein programming

[–]MagicBobert 3 points4 points ago

Your link is for VS 2010. I was looking at the VS11 prices from the article.

Visual Studio 11 Express (Free) Editions will only target Metro Apps by wordsmithiein programming

[–]MagicBobert 4 points5 points ago

Not if the GCC guys have anything to say about it. They've been stepping up their game lately due to the competition, which is great. Better compilers for everyone.

Visual Studio 11 Express (Free) Editions will only target Metro Apps by wordsmithiein programming

[–]MagicBobert 0 points1 point ago

That's what Premake is for. Let's me specify things in a reasonable format and then generates build scripts and projects files for a variety of platforms.

Visual Studio 11 Express (Free) Editions will only target Metro Apps by wordsmithiein programming

[–]MagicBobert -1 points0 points ago

Indeed. Vim + GCC is my preferred toolchain. But I don't always get to pick the toolchain on every project I work on, and if you're an open source project a lot of users like having build scripts or project files for compiling with several different toolchains.

Visual Studio 11 Express (Free) Editions will only target Metro Apps by wordsmithiein programming

[–]MagicBobert 11 points12 points ago

Nobody's complaining, they're simply stating the economics of the situation. I'm a C++ developer that doesn't care about all about this whiz-bang "Metro" stuff. I don't even use the VS IDE. I just want a compiler with good C++11 support.

Microsoft says that'll cost me $1200. GCC and Clang give it to me for free.

Which would you pick?

Visual Studio 11 Express (Free) Editions will only target Metro Apps by wordsmithiein programming

[–]MagicBobert 1 point2 points ago

Visual Studio is a great IDE if that's your bag, but I edit all my code in Vim and don't use an IDE. All I need is a compiler.

Visual Studio 11 Express (Free) Editions will only target Metro Apps by wordsmithiein programming

[–]MagicBobert 4 points5 points ago

I don't use or need the IDE. I don't do C# or LINQ or .NET or WPF or any of the other buzzwords Microsoft is pushing these days. I do C and C++ and all I require is a compiler.

I am not going to pay $1200 for the "privilege" of using their compiler for a year when there are other toolchains available for free.

Kranar's point about open source is excellent, too. I wouldn't be surprised to see a lot of open source projects drop support for the Microsoft toolchain with this release.

Visual Studio 11 Express (Free) Editions will only target Metro Apps by wordsmithiein programming

[–]MagicBobert 20 points21 points ago

This is a real shame. I was looking forward to the additional C++11 support in VS11, but I have no interest in writing "Metro" apps.

PhalconPHP - A web framework delivered as a C extension by michaelpaulin programming

[–]MagicBobert 0 points1 point ago

And what if I make that function slower, but consume less memory? According to his formula that should have a negative impact.

Let me write this is big bold text so it's impossible for you to misunderstand (for what feels like the bazillionth time).

AMDAHL'S LAW POSITS AN UPPER BOUND. NOTHING MORE. IT DOES NOT PROMISE ANYTHING.

Is that clear enough for you?

Congratulations, you have come up with several counter-examples which don't impact Amdahl at all, because it never proposed a guaranteed speedup. It always proposed an upper bound. Nothing more.

Your example of Amdhal predicting a negative speedup is also ridiculous and silly. Equations and formulas are tools. If you don't know when to use them, you're going to get bogus results.

"That's strange, this hammer isn't cutting this 2x4 very well." No it's not. Because you're using the wrong tool for the job.

Despite what what your incompetent CS teachers may have told you, Amdahl's law is not like the constitution.

They never said it was, I did. If you're going to personally attack someone, have the guts to point it at the right person.

I was merely pointing out that an earlier commenter was crazy to not think Amdahl was relevant to a performance discussion.

And frankly, you are an arrogant asshat for assuming you're smarter than a fleet of PhDs and a well respected pioneer in the field because you think you found a "loophole" which was always recognized and never disputed.

PhalconPHP - A web framework delivered as a C extension by michaelpaulin programming

[–]MagicBobert -2 points-1 points ago

Amdahl doesn't say anything at all about optimization. Absolutely nothing.

It absolutely does. I'll quote the first paragraph of the Wikipedia entry again since apparently nobody can be bothered to read it.

Amdahl's law [...] is used to find the maximum expected improvement to an overall system when only part of the system is improved.

Emphasis mine. Note, there is no mention of parallel computation at this point. Also, note that it explicitly mentions an upper bound on performance improvement. It continues...

It is often used in parallel computing to predict the theoretical maximum speedup using multiple processors.

Again, emphasis mine.

I'm not saying your original argument was wrong. You rightly pointed out that caching hierarchies and the underlying machine play a big role in performance optimization, and that is absolutely 100% correct.

However, saying Amdahl's law is unrelated or irrelevant to a discussion about performance is like saying the constitution is irrelevant to a discussion about law.

view more: next