ahh, what do you get for not reading the boards in a long time? Bringing topics back from the dead
Quote:
Originally posted by rbayer
A 2k element array wouldn't be that bad (I've done multi-million-element), but its the principle of wasting RAM unnecesarily. I gave up on conserving disk space long ago, but I'd like to try (for the sake of good software engineering) to find a balance for RAM and speed.
|
This is definately an important consideration. Kudos to you.

Everyone here should read this article from today's Slashdot:
http://msnbc.com/news/768401.asp.
Quote:
|
The issue, in the view of Dan Wallach, a computer scientist at Rice University, is not the pointless churning of the processor — after all, he notes, “processing power is cheap.” Nor is Microsoft software especially flawed; critics often employ the company’s products as examples more because they are familiar than because they are unusually bad. Instead, in Wallach’s view, the blooming, buzzing confusion in Visual Studio and so many other programs betrays how the techniques for writing software have failed to keep up with the explosive increase in its complexity.
|
Quote:
But as computers became widespread, attitudes changed. Instead of meticulously planning code, programmers stayed up in caffeinated all-night hacking sessions, constantly bouncing results off the compiler. Again and again, the compiler would spit back error messages; the programmers would fix the mistakes one by one until the software compiled properly. “The attitude today is that you can write any sloppy piece of code and the compiler will run diagnostics,” says SRI’s Neumann. “If it doesn’t spit out an error message, it must be done correctly, right?”
As programs grew in size and complexity, however, the limits of this “code and fix” approach became evident. On average, professional coders make 100 to 150 errors in every thousand lines of code they write, according to a multiyear study of 13,000 programs by Humphrey of Carnegie Mellon. Using Humphrey’s figures, the business operating system Windows NT 4, with its 16 million lines of code, would thus have been written with about two million mistakes. Most would have been too small to have any effect, but some — many thousands — would have caused serious problems.
|
It basically describes the problem of bad/rushed programming, its effects, and why in terms of the long run, more time should be spent concentrating on efficiency and structure rather than the "it's quick and dirty, but it works" method. As the quote from the article says, it's not really about processing power or memory... rather it's about the fact that because programs have become so complex, more time is needed think about how the program will work and design it to work. Otherwise, well we've all seen the Blue Screen.
As for the actual emulator dilemma, since an array is the better way to go in terms of usability, but a linked list is better in terms of efficient memory management, how about you reach a compromise? How about you make an array of pointers, making them only point to information as needed?