完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
>不一定。
在某些情况下,更多的对象可以更快,因为它们可以被编译,而不是使用必须被>解释的对象。但是,不要忘记VEE中的任何内容都无法真正“编译”。 我找到了关于VEE编译器的每一个参考资料,而且我比任何其他人更信任的是Greg Goebel:VEE编译为p代码。 这是我一直怀疑的,但怀疑几年前这个话题出现了。 这是一种古老的技术,所有的p代码机都运行相同:它们解释p代码。 即使是最新的,也是最新的,如MSIL-CSharp(通常)的目标。 最好的方法是在硅片上构建解释器,在这种情况下,人们可以使用p语言的RISC。 呃,在这种情况下,人们可以放弃Byte mag的“p”长时间读者。 被要求打折着名的Pascalbootstrap编译器。 这是一个特例!无论如何,探查器绝对是一个很好的起点,类型的指定(我猜)。 尽管veeData.h没有指定VDC的结构,但实际上可以肯定它包含成员forveeType和veeShape。 事实上,我不会感到惊讶,因为它非常类似于VARIANT,其中veeType是第一个成员。 通常指定多态类型,其中类型说明符是结构的第一个成员:在知道类型之前,您不知道要预期多少字节或结构的其余部分是什么,甚至不知道字节是如何编码的。 你的指针总是指向一个类型代码。我已经看到过前面提到的这个限制:指定要编译的类型。 我不知道这个编译器是如何工作的,但是我没有看到它在类型规范中真正获得了什么,或者为什么指定类型会允许编译。 使p-interpreter类型特定是非常不明智的(IMO),并且机器总是可以通过引用一个指针在几个周期内解析类型。 换句话说,作为语言设计师和实施者,我一直对这个特殊的怪癖感到困惑。 我已经完成了相反的方式:除非在源代码中指定(我们与该点匹配),否则永远不会对类型进行任何限制,如果有,则支持例程*不负责检查类型,管理器是。 支持程序必须能够处理传入类型,无论它是什么。 无论如何,它对p-compilation完全没有任何影响。然而,任何这一点都与VEE有关,有一件事是肯定的:你的代码被编译到x86并且它总是比x86等价物运行数百或数千个时间。 对于OP而言,它并不是无关紧要的。 我想也许matlab可能会更快但我只是没有提到它。这些人已经在非常低的水平上长时间调整他们的东西了。 以上来自于谷歌翻译 以下为原文 > Not necessarily. More objects can in some cases be faster since they > can be compiled, as opposed to using objects which have to be > interpreted. However, don't forget that nothing in VEE is truly "compiled" anyway. I've looked for every reference I can find about VEE's compiler, and the one that I trust more than any other is Greg Goebel's: VEE compiles to p-code. That's what I suspected all along, but had doubts when the subject came up a few years ago. This is an ancient technique and all p-code machines run the same way: they interpret the p-code. Even the latest and most up-to-date, like MSIL - CSharp's (usual) target. The best one can do is build the interpreter in silicon in which case one has a RISC of the p-language. Er, in which case one can drop the "p" Long time readers of Byte mag. are asked to discount the famous Pascal bootstrap compiler. That was a special case! At any rate, the profiler is definitely a great starting place, as is the specification of types (I guess). Although veeData.h doesn't specify the structure of a VDC, one can be virtually certain it includes members for veeType and veeShape. In fact, I wouldn't be at all surprised to lean that it's quite similar to VARIANT, where veeType is the very first member. It's common to specify polymorphic types where the type specifier is the first member of the structure: until you know the type, you have no idea how many bytes to expect or what the rest of the structure looks like or even how the bytes are encoded. Your pointer always points to a type code. I've seen this stricture mentioned before: specify type to compile. I don't know how this compiler works, but I don't see where it really gains that much with type specification, or why specifying type would allow p-compilation. It would be very unwise (IMO) to make the p-interpreter type specific, and the machine can always resolve type in just a few cycles by dereferencing one pointer. Put another way, as a language designer & implementer, I've always been puzzled by this particular quirk. I've done it the other way around: there are never any restrictions on type unless specified in source (we match with that point) and if there are, the support routines are *not* responsible for checking type, the manager is. Support routines must be able to handle the incoming type whatever it may be. Either way, it has absolutely no effect on p-compilation whatsoever. However any of this works out with VEE, one thing is certain: your code never gets compiled to x86 and it always runs hundreds or thousands of times slower than the x86 equivalent would. For the OPs purposes it doesn't matter anyway. I thought maybe Matlab would be faster but I just didn't mention it. Those folks have been tweaking their stuff at a very low level for a long, LONG time. -SHAWN- |
|
相关推荐
2个回答
|
|
嗨在我的部分应用中,我必须计算系统在10 ms周期内的瞬态响应,步长为1 us。
我可以通过7个联立方程来表示系统,并使用函数matDivide(numer,denom)求解方程。 重复此过程10000次,可以完整表示上述期间的系统。 这个过程在开发环境(.vee)中大约需要3秒,我必须将这个时间减少到1秒或更少。我认为运行时版本环境(.vxe)中的计算比开发环境快得多, 但它们是一样的(我不知道我是否遗漏了什么)。我的问题是如何更快地进行迭代计算? 我有一台功能强大的电脑。 任何反馈将被感激致关注Majed Ali ---您目前订阅了vrf:r***@soco.agilent.com要订阅,请发送一封空白电子邮件至“join-vrf@it.lists.it.agilent.com”。取消订阅 发送一封空白电子邮件至“leave-vrf@it.lists.it.agilent.com”。要发送邮件到此邮件列表,请发送电子邮件至“vrf@agilent.com”。 如果您需要有关邮件列表的帮助,请发送邮件至“owner-vrf@it.lists.it.agilent.com”。在“www.oswegosw.com/vrf_archive/”上搜索“非官方vrf档案”。 以上来自于谷歌翻译 以下为原文 Hi In part of my application, I have to calculate the transient response of a system during 10 ms period with 1 us step. I can represent the system by 7 simultaneous equations and solve the equations by using the function matDivide(numer,denom). Repeating this process 10000 times give a full representation of the system for the mentioned period. This process takes about 3 s in the development environment (.vee) and I have to reduce this time to 1s or less. I thought that the calculations in the run time version environment (.vxe) going much more faster than the development environment, but they are the same (I don't know if I am missing something). My question is how to do iteration calculations faster? I have a powerful PC. Any feedback would be appreciated Regards Majed Ali ---You are currently subscribed to vrf as: [email=r***@soco.agilent.comTo]r***@soco.agilent.comTo[/email] subscribe send a blank email to "join-vrf@it.lists.it.agilent.com".To unsubscribe send a blank email to "leave-vrf@it.lists.it.agilent.com".To send messages to this mailing list, email "vrf@agilent.com". If you need help with the mailing list send a message to "owner-vrf@it.lists.it.agilent.com".Search the "unofficial vrf archive" at "www.oswegosw.com/vrf_archive/". |
|
|
|
“Shawn Fessenden写道:>>我认为>>运行时版本环境>(.vxe)中的计算比开发环境快得多,但是>>它们是相同的(我不知道)
如果>>我错过了什么。>>>你不是.Indeed。没有理由他们为什么不应该使用相同的编译代码几乎相同的速度。>>你可以做的一件事就是减少对象 更少的对象意味着更少>浪费时间移动数据。不一定。更多的对象在某些情况下可以更快,因为它们可以被编译,而不是使用必须被解释的对象。你真正应该做的是打开分析器 并查看时间的使用情况。然后尽可能简化这些部分。在连接对象的行中观察“颜色”。这表示已知数据类型,因此可编译代码。“颜色”很好!强制已知数据类型可以帮助解决这个问题。 尊重,虽然缺点是更脆弱的代码。如果你不能简化那些 seScifc部分足够,asShawn声明,用C或其他任何方式实现该部分。>>你可以做的另一件事就是用编译语言编写>函数的最佳版本并从VEE调用它。 在极端情况下,使用> assembly并应用vtune.Stan -------------------------------------- ------------------------------------ Stan Bischof安捷伦科技公司707-577-3994 stan_bischof@agilent.com -------------------------------------------------- ---------------------------您目前订阅vrf为:r***@soco.agilent.com要订阅,请发送空白电子邮件至“加入” -vrf@it.lists.it.agilent.com“。要取消订阅,请发送一封空白电子邮件至”leave-vrf@it.lists.it.agilent.com“。要向此邮件列表发送邮件,请发送电子邮件至”vrf @ agilent .COM”。 如果您需要有关邮件列表的帮助,请发送邮件至“owner-vrf@it.lists.it.agilent.com”。在“www.oswegosw.com/vrf_archive/”上搜索“非官方vrf档案”。 以上来自于谷歌翻译 以下为原文 "Shawn Fessenden wrote: > > I thought that the calculations in > > the run time version environment > > (.vxe) going much more faster than > > the development environment, but > > they are the same (I don't know if > > I am missing something). > > You're not. Indeed. There's no reason why they shouldn;t be pretty much the same speed since both use the same compiled code. > > One thing you can do is decrease the object count. Fewer objects mean less > time wasted moving data around. Not necessarily. More objects can in some cases be faster since they can be compiled, as opposed to using objects which have to be interpreted. What you really should do is turn on the profiler and see where the time is being used. then streamline those sections as much as possible. Watch for "color" in he lines connecting your objects. That indicates known dattype and hence compilable code. "color" is good! Forcing known datatypes can help in this respect, though the downside is more fragile code. if you can't streamline those sepcifc sections enough then, as Shawn states, implement that section in C or whatever. > > Another thing you can do to gain speed is write an optimal version of your > function in a compiled language and call it from VEE. In extreme cases, use > assembly and apply vtune. Stan -------------------------------------------------------------------------- Stan Bischof Agilent Technologies 707-577-3994 stan_bischof@agilent.com -------------------------------------------------------------------------- --- You are currently subscribed to vrf as: [email=r***@soco.agilent.com]r***@soco.agilent.com[/email] To subscribe send a blank email to "join-vrf@it.lists.it.agilent.com". To unsubscribe send a blank email to "leave-vrf@it.lists.it.agilent.com". To send messages to this mailing list, email "vrf@agilent.com". If you need help with the mailing list send a message to "owner-vrf@it.lists.it.agilent.com". Search the "unofficial vrf archive" at "www.oswegosw.com/vrf_archive/". |
|
|
|
只有小组成员才能发言,加入小组>>
1179 浏览 0 评论
2329 浏览 1 评论
2128 浏览 1 评论
1998 浏览 5 评论
2874 浏览 3 评论
908浏览 1评论
关于Keysight x1149 Boundary Scan Analyzer
676浏览 0评论
N5230C用“CALC:MARK:BWID?”获取Bwid,Cent,Q,Loss失败,请问大佬们怎么解决呀
772浏览 0评论
1181浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-3 04:49 , Processed in 1.422558 second(s), Total 100, Slave 83 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号