Poll: Primary D version
retard
re at tard.com.invalid
Sat May 22 15:53:12 PDT 2010
Sat, 22 May 2010 16:25:55 -0400, Nick Sabalausky wrote:
> "retard" <re at tard.com.invalid> wrote in message
> news:ht9atu$rop$1 at digitalmars.com...
>> Sat, 22 May 2010 13:59:34 -0400, Nick Sabalausky wrote:
>>>
>>> Most apps don't need native x86_64. Only things that really push the
>>> limits of CPU/memory utilization need it, which, aside from bloatware
>>> (which admittedly is at epidemic levels lately), is really only a
>>> minority of apps. For the rest, if it already runs fine on 32-bit,
>>> then the same exec on a 64-bit machine is only going to run better
>>> anyway, and if is already ran fine before, then there's no problem.
>>
>> You're suffering Stockholm syndrome there. Not having a functional
>> 64-bit compiler isn't a positive feature.
>>
>>
> I never said it was. All I said was that most apps don't need native
> 64-bit versions. Don't go pulling out strawmen.
Sorry for pulling out that, but I thought the claim "most apps" was a bit
overoptimistic. If D is The next gen language, it probably also should
solve the next generation of problems. I don't see much point in
rewriting notepad, mspaint or solitaire in D. If you only need to deal
with a small amount of data, why use native low-level languages? The fact
is that resource usage will grow and artificial limitations (32-bit code)
just makes the language irrelevant a lot faster.
Another problem with x86 code is that you need to install all kinds of 32-
bit libraries on a x86-64 (Linux) system. You also don't have the full
2.5 - 3.7 GB (depending on of RAM available for processes, the limit is
something like 2 or 3 GB depending on the OS settings [1] (in some cases
you need to assume the user has only allowed 2 GB for user mode
processes). So in reality you could probably have even less than 2 GB
available. Is that a problem? Yes, it is a serious problem in
professional audio/video/photo applications, soon games (huge game
worlds, complex SVM/ANN AI), and all kinds of servers.
> Take a 32-bit executable optimized for i386 or i586, that runs
> acceptably well on a 32-bit system (say, a P4, or even a P4-era
> Celeron). Take that same binary, put it on a 64-bit system (say, your
> Core i7). It will run *at least* at fast, most likely faster.
Yea, it will run faster, but who said the original application ran fast
enough? CPU demanding applications never run fast enough. The
applications tend to require more and more resources. It seems the x87
instructions (i386/586) have 5-6x larger latency than SSE2+ and SSE2+ has
2-4x greater throughput. Combined, that could mean 20x slower loops.
> Could it be made even faster than that with a 64-bit-native recompile?
> Sure. But if the 32-bit binary already ran acceptably well on the 32-bit
> system, and even faster on the 64-bit system, then who gives a shit?
>
>> Guess how much a 64-bit system with 4 GB of RAM costs these days - a
>> quick search gave me the number $379 at
>>
>>
> Guess how much more that costs me than using my 32-bit system that
> already does everything I need it to do? $379.
Sure. And I have to admit I don't really know what's your target
audience. It might even be 8086 systems since IIRC dmd/dmc support old 16-
bit dos environments.
But most commercial applications aren't geared towards Your 32-bit
system. There's a good reason - people do upgrade their systems at least
once in 5 years (x86-64 appeared 7 years ago..). Your system *will*
physically break at some point and you have to replace it, probably with
a faster one, because they won't be selling compatible parts anymore.
Computers have a limited life time. Ordinary people don't lubricate their
fans or replace bad capacitors themselves.
You can find used parts, but those are more expensive than new ones. For
example a used 128MB/SDRAM-100 module typically costs as much as a 1GB/
DDR2-800 here. Budget GPUs for the PCI bus cost 4x as much as similar PCI
Express cards. A 750GB PATA disk costs as much as a 1500GB SATA-2 disk.
And let's be honest, $379 isn't that much - if you only upgrade the cpu
+mobo+ram+gpu, it's closer to $100-150. If you can't afford that much
once in 5 years, you should stop developing software, seriously.
If Your application doesn't require new hardware, the 3rd party software
forces you to upgrade. For example, recently I noticed that the Ati/
Nvidia GPU control panel requires a .NET version that is not available
for Windows 2000 (and that's not the only program not working on Windows
2000 anymore..). So I must buy a new operating system.. but people can't
legally sell their used OEM Windows without also selling me their 64-bit
machines =) And I can't buy a new Windows XP/Vista license, only Windows
7 available on stores. So basically I'm forced to also upgrade the
hardware.
[1] http://www.brianmadden.com/blogs/brianmadden/archive/2004/02/19/
the-4gb-windows-memory-limit-what-does-it-really-mean.aspx
More information about the Digitalmars-d
mailing list