德尔福64位?

人气:1,273 发布:2022-09-11 标签: 64bit delphi

问题描述

德尔福64位以自己的方式大家都知道(每Delphi程序员至少)。除了什么codegear说,有关的64位应用程序,德尔福的收益(和codegear没有说太多有关),我将受益于一个64位的Delphi应用程序?这实在是一个好主意,口我的应用程序到64位,只要codegear版本呢?

Delphi 64 bits is on its way as everybody knows (every delphi programmer at least) . Apart from what codegear says about the benefits of a 64 bits Delphi app (and codegear does not say much about), what will I benefit from having a 64 bits Delphi application? It is really a good idea to port my app to 64 bits as soon as codegear releases it?

编辑:

我只是问,因为我想我可以拥有所有的意见。现在,我可以说,我真的需要更多的内存来我的应用程序,因为它消耗了大量的资源。我真的可以用更快的速度,如果是可能的。我不需要外壳扩展没有插件。

I am just asking it because I want all opinions I can have. For now, I can say that I really need more memory available to my application because it consumes a lot of resources. I really could use more speed, if it is possible. I do not need shell extensions neither plugins.

我的客户也问我关于我的应用程序的x64版本的,但我真的不明白为什么他们所要求的,因为他们其实谁不知道什么是64位应用程序的律师。

My customers are also asking me about a x64 version of my app, but I really do not understand why they are asking for it, because they are actually lawyers who have no idea what is a 64 bits application.

修改

我其实并不直接参与到应用程序的开发。我是一个技术团队的一部分,我创建的东西,其他的开发商在我使用的工作,真正将公司发展的最终应用程序。所以,我的工作是做技术的东西,和端口的应用程序到x64是什么样的我做的事情,但我需要解释为什么我这样做,我的上司。

I actually do not participate directly into the app development. I am part of a technology team and I create stuff that other developers in the company I work for use to really develop the final app. So, my job is to do technical stuff, and port a app to x64 is the kind of thing I do, but I need to explain why I am doing that to my superiors.

推荐答案

一个64位程序拥有的同一个编译为32位(x86)以下优点:

A 64-bit program has the following advantages over the same one compiled for 32-bit (x86):

更多的寄存器。 64位x86芯片具有几个寄存器这样就可以在理论上(如果编译器利用),导致更快的code。在某些情况下。

More registers. 64-bit x86 chips have several more registers and this can, in theory (if the compiler takes advantage) result in faster code in some cases.

更多的内存。随着32位的程序,你通常被限制为2GB的地址空间或全部4GB的地址空间,如果你用编译/ LARGEADDRESSAWARE ,这是3.5GB左右在实践中,由于Windows的内核/用户空间的分割。 64位进程可以解决更多。如果你的应用程序需要大量的内存,这是唯一重要的。

More memory. With a 32-bit program you were generally limited to either a 2GB address space or a 4GB address space in total, if you compiled with /LARGEADDRESSAWARE, which was about 3.5GB in practice due to Windows' kernel/userspace split. A 64-bit process can address much more. This is only important if your app needs a lot of memory.

能力建设的插件64位程序,像资源管理器。除非你使用COM一个插件,其中数据编组,你不能混用32位和64位code在Windows中的一个进程,比如一个64位的EXE加载32位DLL。如果你想写一个浏览器插件,例如,你不能把它与64位版本的浏览器与旧版本的Delphi的工作。您将能够与64位版本。

Ability to build plugins for 64-bit programs, like Explorer. Unless you're using COM for a plugin, where data is marshalled, you can't mix 32-bit and 64-bit code in the one process in Windows, such as a 64-bit EXE loading a 32-bit DLL. If you wanted to write an Explorer plugin, for example, you couldn't have it work with the 64-bit version of Explorer with old versions of Delphi. You will be able to with the 64-bit version.

德尔福专用:编译器将使用SSE / SSE2指令 作为浮点计算,在目前的32位编译器仅使用的x87 FPU指令(我认为)这应该给一个速度的提升浮点运算。你可能甚至不会注意到,除非你的应用程序是非常FP-依赖(一场比赛,也许,或数据处理应用程序,那种事。)

Delphi-specific: the compiler will use SSE/SSE2 instructions for floating point calculations, where the current 32-bit compiler only uses x87 FPU instructions (I think.) This should give a speed increase for floating-point math. You probably won't even notice unless your app is highly FP-dependent (a game, perhaps, or a data processing application, that kind of thing.)

回答你的问题:我将受益于一个64位的Delphi应用程序?是高度依赖于特定的应用。一般来说,是不可能被超越,可能是一个小的速度增加多少好处。不要依赖64位,虽然加速慢的应用程序:你仍然需要为大的速度提升算法的变化。 64位是不是灵丹妙药。除此之外,你只需要改变,如果你已经遇到了由32位所施加的限制之一 - 我怀疑你有没有,或者你就不会问这个问题。

The answer to your question "will I benefit from having a 64 bits Delphi application?" is highly dependent on your specific application. In general, there is unlikely to be much benefit beyond, possibly, a small speed increase. Don't rely on 64-bit to speed up a slow application though: you will still need to make algorithmic changes for large speed boosts. 64-bit isn't a magic bullet. Other than that, you only need to change if you've already encountered one of the limits imposed by 32-bit - I suspect you haven't, or you wouldn't be asking the question.

如果您决定转换,你可能会发现this螺纹非常有用的。

If you decide to convert, you may find this thread very useful.

但一件事:即使你不需要改变,你可能需要,特别是如果你的应用程序是一个个人项目。你可能会学到的东西,你的code将以更高的品质,当你解决六十四分之三十二位的问题,这样的项目可以很有趣。你是一个程序员,毕竟:)

But one other thing: even if you don't need to change, you might want to, especially if your app is a personal project. You might learn stuff, your code will be higher quality when you fix 32/64-bit issues, and a project like that can be fun. You're a programmer, after all :)

编辑:我看到你更新你的问题用的我可以说,我真的需要更多的内存来我的应用程序,因为它消耗了大量的资源,我真的可以使用更多。速度,如果是可能的。的

I see you have updated your question with "I can say that I really need more memory available to my application because it consumes a lot of resources. I really could use more speed, if it is possible."

哪些资源?记忆? 64位会给你一个更大的寻址地址空间,仅此而已。它不会给你更多的GDI处理等,如果这些算不算资源。但是,如果你真的这样做需要更多的内存,那么64位的价值将转换为。

What resources? Memory? 64-bit will give you a greater addressable address space, that's it. It won't give you more GDI handles, etc, if those count as resources. However, if you truly do need more memory, then 64-bit will be worth converting to.

更快的速度,如果你想的大的区别,更可能通过不是通过一个64位编译器算法或线程的变化来实现。

"More speed", if you want a big difference, is more likely to be achieved through algorithmic or threading changes than through a 64-bit compiler.

我的客户也问我关于我的应用程序的64位版本,但我真的不明白,为什么他们所要求的,因为他们实际上是谁拥有律师不知道什么是64位应用程序。的机会,他们听说过,64位更好或更快。在一个理想的世界中,客户将有基于现实的需求,但是这并非总是如此。务实来讲,如果客户希望这样的事情,它可能是值得转换只是因为它使他们感到快乐:快乐的客户是好的,他们可以支付你的新版本,它可以帮助口碑贵公司的声誉。

"My customers are also asking me about a x64 version of my app, but I really do not understand why they are asking for it, because they are actually lawyers who have no idea what is a 64 bits application." Chances are they've heard that 64-bit is better or faster. In an ideal world, customers would have reality-based requirements, but this isn't always the case. Pragmatically speaking if the customer wants something like this, it may be worth converting simply because it makes them happy: happy customers are good, and they may pay you for the new version, and it may help your company's word-of-mouth reputation.

211