H
hgyNo7
Unregistered / Unconfirmed
GUEST, unregistred user!
Delphi 的 Compiler 太 old 了,生成的代码效率太差,绝大多数情况下其优化和 VC 没得比,两者不在一个档次。这几天给 Barry Kelly 及 Michael J. Rozlog 发了邮件,前者的回复几乎可算是客套话,后者则较详细回复了……具体内容列出如下,感觉算是很认真,也很专业。其中 MJR 打头的为其回复,算是逐一对我的邮件进行了“指正”:Hi Michael, First of all, Please forgive me for my poor English, 'cause I'm from China, and English 's not my native language. MJR: You English is great! But, as you can see, I'm a crazy Delphi programmer, I love Delphi more than any other program languages such as C Plus Plus, and/or Java/C# but, as I've said, I am very disappointed with the optimization of Delphi! Of course we can say that Delphi is just a tool for application development, not for System-Level Development, so it do
es not need as highly optimized as some other tools such as Visual C++;
maybe that's true(I do
think that you'd know the code "VB Killer"), but we all know that Delphi's powerful, it can do
almost everything other tools can do
, and would not do
worse than others! However, after the departure of those genius like Anders, like Chuck, like Danny, Delphi's getting worse and worse...There is a general feeling that Delphi is just a thing of the past, and I agree. Now I'd not complain about those VCL / RTL / IDE BUGs, I just very disappointed with the optimization of Delphi!!! From Delphi 3 to Delphi 2010, even to Delphi 2011(or Delphi XE), the compiler actually do
not have any optimization improvements! This is surprising, and more depressingly!!! We can have a look at Visual C++, the guys in Visual Studio at Microsoft are really do
ing a good job, whenever I feel the quality with Visual Studio, enjoy the High-Quality of VC Compiler, I do
really feel very frustrated: why my delphi's so bad? ——Can you just tell me, why? 'Cause the bucking Ficrosoft has the most top talent? MJR: Sorry you feel that way, we believe that employees come and go and while Anders, Chuck, and Danny are great developers and added a lot to the product, we still have awesome developers do
ing great work on Delphi and C++Builder today. I can tell you that we have had a lot of changes to the product since Delphi 3 and that the expectations of developers has changed over the years. In the latest Delphi XE we have increased the speed of the compiler by more than 20% over the Delphi 2010 version. We have also changed the language in ways to keep it up to date with the latest trends and best practices in the industry, by supporting things like Anonymous Methods, Generics, UniCode, and advanced RTTI. Each of these things has changed the Delphi compiler and how it generate code and what it needs to generate to work properly. One of the things that you may notice and think it is not optimized is the fact that the .exe, .obj, and .dll files are larger than they used to be and that is correct especially if you use the new reflection abilities found in the RTTI. While the executable files are larger than before, the speed in-which the execute is very close to the same before the updated RTTI. However, what the update to the RTTI gives the Delphi developer is the same reflection capabilities that .NET and Java developers enjoy, so the size issue was really not a major concern because the overall advantages to most Delphi programmers was a very positive thing. Now, in Delphi XE we also had a set of major optimizations and bug fixes with the Generics (87 issues resolved), so again optimization happens all the time. You guys say that, the latest Delphi version, the Delphi XE, has "Compiler performance improvements", but the truth's that, it ONLY raise some compilation speed, it do
es not do
ANY Compiler Optimization——and even, It's SILLY——Can't it MUCH MORE efficient?!! MJR: Again, that is not a true statement, the compiler has been optimized and the code generation has been optimize in XE (and many versions before that). It is true that certain areas of the compiler have been updated, but that is true for any compiler optimizations. You have to remember, compare Delphi's compile time to VC compile time for the same application on the same machine and the last I checked, a few weeks ago, Delphi still compiles faster, a lot faster! I think another question you are asking, can the compiler be faster? Sure, we could most likely cut a few milli-seconds here and a few milli-seconds there, but the overall affect would not be that great and when the compiler team finds a optimization that can be made, they usually make that change. But please keep in mind that there are other features the compiler team works on to make the product better... generics, anonymous methods, etc... So it may be that people do
n't see all the other things that are going on and only think that it is staying the same. I can say with certainty that there are major changes to the compiler happening in each release. I just can't understand that, to do
some more effctive optimization measures to the compiler, do
esn't it have any sense? Or you guys even just think to improve the compilation speed in spite of OPTIMIZATION??? MJR: Again, I do
n't think this statement is true and I hopefully explained it above. Or, nowadays, you guys just do
not have the ability to do
any compiler optimization! MJR: We have a very good compiler team and again they make optimizations when we find them. I use Delphi for online game development(I think I can say that, nowadays using Delphi to develop the game is really a heterogeneous, and you just know WHY), so I'm very care about the compiler optimization. Many times, I can hear other guys complain that the DCC32 just do
nothing in floating point calculate——It's so Depressingly! MJR: Can you give me an example of a VC program that you believe is optimized and a Delphi program that you believe is not optimized? It would be great if you could include: Version of Delphi Compiler used:Version of VC compiler used:Any compiler switches you maybe using for Delphi:Any compiler switches you maybe using for VC: The speed of the compile of the Delphi App:The speed of the compile of the VC app:What type of hardware are you running it on?The time it takes to execute each application for comparison: Please send the example and the above information and I will turn it over to the compiler team for more analysis. Also keep in mind that in Delphi XE we now include AQtime profilers for better optimization on the end products. Let's just stop here, and I do
think you guys do
know what we really want from Delphi! MJR: If you have other things please let me know, I'm hear to listen and hopefully find solutions to today's programming issues. Finally, please forgive my manners, and I'm sorry! MJR: Your manners are fine, all you did was ask a few questions, not a problem here. Please send me that sample application and the some data and I will try to get any issues found, fixed! Best wishes to you, and Delphi! yours truly, adelphicoder信中 MJR 明确表示希望我能给出相关实例(代码)及具体环境以供易博龙评测,所以恳请大家能提供我一些事实,我打算将大家提供的资源整理一下,然后再发给 MJR。毕竟我一个人肯定能力水平有限,所以希望大家能一起协作,谢谢。我的 QQ:395588677。
es not need as highly optimized as some other tools such as Visual C++;
maybe that's true(I do
think that you'd know the code "VB Killer"), but we all know that Delphi's powerful, it can do
almost everything other tools can do
, and would not do
worse than others! However, after the departure of those genius like Anders, like Chuck, like Danny, Delphi's getting worse and worse...There is a general feeling that Delphi is just a thing of the past, and I agree. Now I'd not complain about those VCL / RTL / IDE BUGs, I just very disappointed with the optimization of Delphi!!! From Delphi 3 to Delphi 2010, even to Delphi 2011(or Delphi XE), the compiler actually do
not have any optimization improvements! This is surprising, and more depressingly!!! We can have a look at Visual C++, the guys in Visual Studio at Microsoft are really do
ing a good job, whenever I feel the quality with Visual Studio, enjoy the High-Quality of VC Compiler, I do
really feel very frustrated: why my delphi's so bad? ——Can you just tell me, why? 'Cause the bucking Ficrosoft has the most top talent? MJR: Sorry you feel that way, we believe that employees come and go and while Anders, Chuck, and Danny are great developers and added a lot to the product, we still have awesome developers do
ing great work on Delphi and C++Builder today. I can tell you that we have had a lot of changes to the product since Delphi 3 and that the expectations of developers has changed over the years. In the latest Delphi XE we have increased the speed of the compiler by more than 20% over the Delphi 2010 version. We have also changed the language in ways to keep it up to date with the latest trends and best practices in the industry, by supporting things like Anonymous Methods, Generics, UniCode, and advanced RTTI. Each of these things has changed the Delphi compiler and how it generate code and what it needs to generate to work properly. One of the things that you may notice and think it is not optimized is the fact that the .exe, .obj, and .dll files are larger than they used to be and that is correct especially if you use the new reflection abilities found in the RTTI. While the executable files are larger than before, the speed in-which the execute is very close to the same before the updated RTTI. However, what the update to the RTTI gives the Delphi developer is the same reflection capabilities that .NET and Java developers enjoy, so the size issue was really not a major concern because the overall advantages to most Delphi programmers was a very positive thing. Now, in Delphi XE we also had a set of major optimizations and bug fixes with the Generics (87 issues resolved), so again optimization happens all the time. You guys say that, the latest Delphi version, the Delphi XE, has "Compiler performance improvements", but the truth's that, it ONLY raise some compilation speed, it do
es not do
ANY Compiler Optimization——and even, It's SILLY——Can't it MUCH MORE efficient?!! MJR: Again, that is not a true statement, the compiler has been optimized and the code generation has been optimize in XE (and many versions before that). It is true that certain areas of the compiler have been updated, but that is true for any compiler optimizations. You have to remember, compare Delphi's compile time to VC compile time for the same application on the same machine and the last I checked, a few weeks ago, Delphi still compiles faster, a lot faster! I think another question you are asking, can the compiler be faster? Sure, we could most likely cut a few milli-seconds here and a few milli-seconds there, but the overall affect would not be that great and when the compiler team finds a optimization that can be made, they usually make that change. But please keep in mind that there are other features the compiler team works on to make the product better... generics, anonymous methods, etc... So it may be that people do
n't see all the other things that are going on and only think that it is staying the same. I can say with certainty that there are major changes to the compiler happening in each release. I just can't understand that, to do
some more effctive optimization measures to the compiler, do
esn't it have any sense? Or you guys even just think to improve the compilation speed in spite of OPTIMIZATION??? MJR: Again, I do
n't think this statement is true and I hopefully explained it above. Or, nowadays, you guys just do
not have the ability to do
any compiler optimization! MJR: We have a very good compiler team and again they make optimizations when we find them. I use Delphi for online game development(I think I can say that, nowadays using Delphi to develop the game is really a heterogeneous, and you just know WHY), so I'm very care about the compiler optimization. Many times, I can hear other guys complain that the DCC32 just do
nothing in floating point calculate——It's so Depressingly! MJR: Can you give me an example of a VC program that you believe is optimized and a Delphi program that you believe is not optimized? It would be great if you could include: Version of Delphi Compiler used:Version of VC compiler used:Any compiler switches you maybe using for Delphi:Any compiler switches you maybe using for VC: The speed of the compile of the Delphi App:The speed of the compile of the VC app:What type of hardware are you running it on?The time it takes to execute each application for comparison: Please send the example and the above information and I will turn it over to the compiler team for more analysis. Also keep in mind that in Delphi XE we now include AQtime profilers for better optimization on the end products. Let's just stop here, and I do
think you guys do
know what we really want from Delphi! MJR: If you have other things please let me know, I'm hear to listen and hopefully find solutions to today's programming issues. Finally, please forgive my manners, and I'm sorry! MJR: Your manners are fine, all you did was ask a few questions, not a problem here. Please send me that sample application and the some data and I will try to get any issues found, fixed! Best wishes to you, and Delphi! yours truly, adelphicoder信中 MJR 明确表示希望我能给出相关实例(代码)及具体环境以供易博龙评测,所以恳请大家能提供我一些事实,我打算将大家提供的资源整理一下,然后再发给 MJR。毕竟我一个人肯定能力水平有限,所以希望大家能一起协作,谢谢。我的 QQ:395588677。