English 中文(简体)
俄亥俄和西邦之间的业绩差异
原标题:Performance differences between Python and C

不同项目的工作 只要任务完成,我就选择不同的方案拟订语言。

我很想知道,在业绩方面,在撰写“灰色”方案与在C实施方案之间有什么实际差别。

有待完成的任务大体不同,例如,对文本档案进行分类、磁盘查阅、网络访问、文本文件分类。

例如,在C 和Adhur之间使用相同算法对文本档案进行分类是否确实存在明显差别?

在你的经验中,鉴于目前的万国邮联(i7)的力量,这确实是一个显著的区别(鉴于其旨在将该制度带至其基点的方案)。

最佳回答

在你有业绩问题之前使用on。 如果你能说明问题是什么(常常是你会gues倒的)。 然后解决这一具体的绩效问题,可能是一种算法或数据结构的变化。 在你的问题确实需要C的罕见情况下,你只能用C部分来写这段话,并用你的话语使用。

问题回答

C将绝对压倒几乎所有的业绩类别,但C很难书写和维持,高业绩总是在发展时间增加和困难的情况下进行交易。

你说,你做像文本档案处理这样的事情,但你所忽略的是,有多少文本记载了你的工作。 如果你每小时再处理1 000万份档案,你可以查阅C号文件。 但是,如果你重新处理100份档案,为什么不使用假象? 您是否确实需要能够处理10ms诉50ms案的文本档案? 如果你重新规划未来,请你 yourself,“我能稍后再投更多的硬件吗?”

C的固体代码为hard。 相信你能够证明这种投资是有道理的。

一般来说,国际交易日志的约束性工作将更多地依赖于当时的算法。 在该案中,我会跑到沙捞越场,因为它将拥有一门课堂,很容易利用图书馆操纵档案等。

例如,在C 和Adhur之间使用相同算法对文本档案进行分类是否确实存在明显差别?

是的。

这些显著差异是

  1. 甲型六氯环己烷的编码要少得多。

  2. 粉碎法更容易阅读。

  3. 灰色支持真正的冰箱检测,因此,沙尔法的质量往往更高。

  4. 你可以更快地书写沙捞法,因为静坐语言特征较少。 例如,没有任何加工商实际节省了大量的ck。 Super-experience 方案规划人员几乎不注意到这一点。 但是,所有<代码>#include>砂质,使<代码>.h文档正确无误,其消耗时间可观。

  5. 包裹和部署可能比较容易,因为你不需要大的手法来做建筑。

计算机性能问题第一条规则: 你的里程将有所不同。 如果绩效差异对你很重要,那么获得有效信息的途径是用your配置、your<<>/em>数据以及your<>/em>基准。 这里的“小”是两个因素。

计算机性能问题第二条规则: 对大多数申请来说,业绩确实很重要——最容易书写,即使问题表存在,也表现得当。 如果是这种情况(通常情况)不担心业绩。

尽管如此:

  • C compiles down to machine executable and thus has the potential to execute as at least as fast as any other language
  • Python is generally interpreted and thus may take more CPU than a compiled language
  • Very few applications are "CPU bound." I/O (to disk, display, or memory) is not greatly affected by compiled vs interpreted considerations and frequently is a major part of computer time spent on an application
  • Python works at a higher level of abstraction than C, so your development and debugging time may be shorter

我的建议:用你认为最容易工作的语言发展。 让你的方案发挥作用,然后检查是否具备足够的业绩。 如果像往常一样,业绩是充分的,那么你就重新工作。 如果不是的话,请你说明一下你的具体用意,以找出比预期要长或可以容忍的时间。 参见,如果和如何确定这一部分,并在必要时重复。

是的,有时你可能需要放弃工作,开始取得你所需要的业绩。 但是,使用实用的(虽然缓慢的)评估版本将大大有助于取得进展。 当你达到并qu清这一业绩目标时,你会回答在SO中的业绩问题,而不是问它们。

如果你的文本文件记录显示,你正在分类和划分,则使用C。 如果是,就没有。 不过,你可以用任何语言写出不好的文字。 在C,由于记忆管理差、使用结构、点工等原因,我看到用于计算三角地的简单代码比其他C法典低10x。

你的I/O算法应当独立于你的计算法。 如果是这种情况,那么将C用于计算算法就可以更快。

(假设——问题意味着,提交人熟悉C,但并非 Python,因此,我将本着这一精神回答这个问题。)

I was wondering what the real difference is, in terms of performance, between writing a program in Python, versus doing it in C.

如果执行不力,C将几乎肯定会更快,但真正的问题是:

  • What are the development implications (development time, maintenance, etc.) for either implementation?
  • Is the performance benefit significant?

学习胜地需要一定时间,但有一些灰色模块可以大大加快发展时间。 例如,csv模块, 载于Adhurg读写csv容易。 而且,在我看来,沙捞越、阵列、地图和其他物体使其比平原C更灵活,比对等的C++更强。 诸如网络接入等一些东西也可能更迅速地发展到沙尔。

然而,或许需要时间学习如何妥善规划,以完成你的任务。 由于你对业绩感到关切,我建议尝试一项简单的任务,例如,在C和Alfredo中编造一个文本档案。 这将使你在业绩、发展时间以及可能维修方面能更好地掌握两种语文的基线。

确实,这在很大程度上取决于你的工作,如果有关算法通过本土汇编的图书馆提供的话。 如果是的话,我相信你会把业绩人数看得很接近,这很可能是你的答复——假定它使用你喜欢的语言。 如果你必须根据所需的逻辑量和数据组的规模执行算法,C/C++可能是更好的选择。 如果没有更多的信息,它很难提供不那么模糊的答案。

在所有方案中,都很难说什么事情会更快或更慢地出现在沙尔或C。

对于我用两种语文执行的方案,采用类似的算法,在C执行假装法时,我没有看到(有时是性能下降)加强和综合征重法。 执行时间主要靠分配和操纵扼杀(能够非常高效地实施假肢)和等待国际奥委会(以两种语文支付同样的管理费用),因此,花on的额外费用几乎没有变化。

但是,对于甚至在图像档案上进行简单操作的方案来说,(与综合信息管理系统相比,图像处理时间要足够大),C是非常迅速的。 就这种任务而言,花了大量时间操作花在斯图尔特,这为基本行动花费了时间(倍加、比较等)。 当官僚作风时,计算机花时间做真正的诚实工作,因此,事情更快捷。

在C法典在(say)0.05中运行的(say)5秒中,这并不罕见。 因此,增长100倍——但从绝对值来看,这并不是如此大的事情。 起草假冒代码比编写C法典要少得多,因为你的方案要花很多时间才能获得时间利润。 由于各种原因,我常常在C加以执行,但如果你没有这一要求,则可能不值得重复。 你们赢得了一部分生命,明年的电脑将更加快捷。

C is definitely faster than Python because Python is written in C. C is middle level language and hence faster but there not much a great difference between C & Python regarding executable time it takes. but it is really very easy to write code in Python than C and it take much shorter time to write code and learn Python than C. Because its easy to write its easy to test also.

你们会发现,C要慢得多。 你们的发展者必须跟踪记忆分配,并利用图书馆(如校准)处理像字典或清单等简单事项,这些字节已建。

此外,在出现错误时,您 C方案通常只是坠毁,这意味着你需要把错误带上浮桥。 灰尘会给你一个 st痕(好像)。

你的法典将更大,这意味着它会包含更多的ug。 因此,不仅需要更长的时间来写字,还要花更长的时间去辩论,还要花更多的 b。 这意味着客户将更经常地注意到这些 b。

因此,你的开发商将花费更长的时间固定旧的 b子,因此,新的特征将更加缓慢地完成。

在时间上,你的竞争者将使用一种敏感的方案拟订语言,其产品在特征和可用性方面将会增加,而你将迅速发现坏处。 你的客户将离开,你将离开生意。

在C而不是在Stefan撰写该法典的多余时间将比C和Azzar执行速度之间的差别大。





相关问题
Fastest method for running a binary search on a file in C?

For example, let s say I want to find a particular word or number in a file. The contents are in sorted order (obviously). Since I want to run a binary search on the file, it seems like a real waste ...

Print possible strings created from a Number

Given a 10 digit Telephone Number, we have to print all possible strings created from that. The mapping of the numbers is the one as exactly on a phone s keypad. i.e. for 1,0-> No Letter for 2->...

Tips for debugging a made-for-linux application on windows?

I m trying to find the source of a bug I have found in an open-source application. I have managed to get a build up and running on my Windows machine, but I m having trouble finding the spot in the ...

Trying to split by two delimiters and it doesn t work - C

I wrote below code to readin line by line from stdin ex. city=Boston;city=New York;city=Chicago and then split each line by ; delimiter and print each record. Then in yet another loop I try to ...

Good, free, easy-to-use C graphics libraries? [closed]

I was wondering if there were any good free graphics libraries for C that are easy to use? It s for plotting 2d and 3d graphs and then saving to a file. It s on a Linux system and there s no gnuplot ...

Encoding, decoding an integer to a char array

Please note that this is not homework and i did search before starting this new thread. I got Store an int in a char array? I was looking for an answer but didn t get any satisfactory answer in the ...