Pythonのよりも優れた言語のパフォーマンス測定、移動のプログラミング?

作者| ポールDziubałkaセバスチャンKarasiewicz

翻訳|香港テクノロジー

Zebian | yugao

制作| AI技術のベースキャンプ(ID:rgznai100)

様々なインフラを構築するための基礎となっているインターネット、上のエキサイティングなコードがたくさんあります。あなたは、我々はまた、優れたコードを作成することにコミットしている、この同じプラットフォームを読んでいます。一般的な普通のユーザーはこのことを気付くことはありませんが、一方で、優れた開発者は、常に(自分のコードだけでなく)自分のアプリケーションを作るために探しているにもかかわらず、より良い方法があります。

スキルと開発者の言語の選択に依存する書き込みコードに優れた基礎。これは、必然的に、開発者間の競合につながるが、競合がスキルレベルについてだけでなく、主に彼らの好みの言語に関連する(及び偶数壮大な衝突であってもよいです)。あなたは組み合わせると2つの優れたプログラミング言語(例えばGolang(ゴー)とPythonは)一緒に入れて、起こる可能性が最も高いです。

今度は、単に巧妙に活躍の場を平らに、利点と機能の面で二つの言語を評価し、ステップバックを取る個人的な偏見や好みを排除しましょう。Pythonの対ゴー:今、我々は2つだけ良い選択肢が残されています。質問は今、あなたのために、より適しているものを、プログラミング言語、なり?

Pythonの物語

あなたには、いくつかの開発者に尋ねる行く場合、あなたは、PythonやPythonの誕生以前に言及する価値はありません聞いて、後にもそういったことを言及する価値はないだろう。それは非常に良いプログラミング言語であるため、長年にわたり、それは成功した巨大な懸念を獲得しました。パイソンを使用したクールなアプリケーションのフルインターネット上で作成しました。

プログラミングの観点での生活では、Pythonはベテランを検討しました。これは、最初1991年に概念化されました。加齢とともに、徐々に一定の利点を持っています。それは安定しており、豊富な文書であることを意味するサポーターの広い範囲を持っています。ほとんどの場合、あなたは、ほぼすべてのライブラリの内容だけでなく、ほぼすべてのいずれかのコード例が考えることができるでしょう。開発者や企業にとって、これはPythonの選択肢は豊富な経験を持ってきてコーディングします使用することを意味します。

オープンソースプロジェクトのための基礎として、多くの用途Pythonがありますので、ほとんどの場合、あなたはゼロから始めるされていません。これはよくエンタープライズアプリケーションに統合されており、機械語とAIの用途に使用することができます。しかし、それは一方で、それは、少し遅いの実行の観点から、選択のメモリ集約型のタスクのための理想的ではない一方で、それは、モバイルアプリケーションの開発に適していない、欠点があります。

そういえばGolang(ゴー)

2009年に開発されたGoogleの囲碁言語。囲碁意図は、現実的な問題を解決することです。その目標は、不必要な負担を解消するために言語を作成することでしたし、すべてのものは、パフォーマンスとスピードを向上させるためにそれをもたらしたように、C ++などの言語、で見つかりました。おなじみの要素と使いやすさの中に入るには驚くほどになりますので、また、第一のコンタクト開発者移動のほとんどは、高しきい値の文法を感謝していません。

これは、すべての場合に言語が完璧であると言っているわけではありません。全く新しいレベルにスピードと優雅さにもかかわらず、それは改善のためのいくつかの領域を残すん。まず、それは継承をサポートしていないライブラリを拡張しません。また、何のGUIライブラリまたはオブジェクト指向プログラミングのサポートはありません。これは、軽量スレッド(ゴルーチン)、最小限のコーディングの構文を使用して、インテリジェントな、強力な組み込みのセキュリティ、および簡単に使用の標準ライブラリを作成されて行う必要があります。

性能試験

私たちは延々と長所と短所GolangやPythonについて話すことができますが、我々は、使用の展開を考えると、我々は彼らが持っていることを期待する優れた性能を。したがって、我々はインテル®Core™i7-9700KCPU @ 3.60GHz×8コア試験装置のいくつかのテストを行いました。Https://github.com/sekarasiewicz/go-python-benchmarkテストコードはここから入手することができます。

1.バイナリ検索

私たちは、(1から100000から)整数のリストを作成し、同じ番号は常に729を見つけるためにバイナリ検索を使用します。結果は次のとおりです。

 

2.バブルソート

ここでも、我々は(これは、万個の要素の合計ランダムである)整数のリストを生成し、ソートに使用バブルソートアルゴリズム。

 

3.ファイル読みます

簡単なテスト「Loremのイプサム」のテキストファイルを読み込みます。

 

4. HTTPリクエストの処理

编写HTTP服务器确实很容易,但是我们为在Python中进行有效的模拟付出了很多努力。我们检查了一个简单的“hello world!” 信息需要多长时间响应。

Golang还是Python

尽管Python一直是社区中的最爱,在2019年第一季度就成为GitHub上最快的编程语言排行榜上(按拉取请求数计算+17%)的第二名,但Golang并没有落后很多,位于紧随其后的第四位(+ 8%)。Golang与Python之间的选择变得更加模糊。无论如何,在选择哪一项适合你时都需要考虑一些事项。

1.可扩展性:Golang在创建时就考虑了可扩展性。它具有内置的并发性,可以同时处理多个任务。Python同样可以使用并发,但不是内置的。它通过线程实现并行性。这意味着,如果你要处理大型数据集,那么Golang似乎是一个更合适的选择。

2. 性能:众所周知,Python不是内存或CPU友好型的编程语言,但由于它拥有大量的库,Python可以有效执行基本的开发任务。Golang具有内置功能,它更适合于微服务软件体系结构。

3. 应用程序:Python非常适合编写用于人工智能、数据分析、深度学习和Web开发的代码。Golang已普遍用于系统编程,并且受到云计算和集群计算应用程序的开发人员的喜爱。

4. 社区和库:如前所述,Python的时代赋予了它一定的优势。其中之一是它拥有的库数量以及支持它的大型社区。另一方面,Golang虽然没有Python提供的大量库和社区支持,但仍是一种增长中的语言。我们不应该将Golang踢出局。它的增长和采用率令人难以置信,并且每天都在增长。

5. 执行性能:如果只关注速度,那么Golang肯定会赢。

考虑所有这些因素后,你的用例将成为采用哪种语言的决定因素。在你要建立开发团队来创建微服务的情况下,Golang将是更合理的选择,因为它既快速,易于编码,又可以很好地扩展。另一方面,Python更适合于AI、ML和数据分析。

因此,一对一地比较,在大多数情况下,Go会脱颖而出,被认为是使用Python的有效替代方案。开发人员需要选择一种编程语言,要考虑其开发项目的性质和规模以及所涉及人员的技能。

好消息是,无论选择哪种语言,两种语言都在不断发展。尽管在大多数情况下,Golang似乎是一个显而易见的选择,但Python社区不会闲坐而不采取任何行动。两种语言都在扩展和增长。这意味着将来我们将看到更多的功能和改进。

原文链接:

https://www.softkraft.co/golang-vs-python/

本文为 CSDN 翻译,转载请注明来源出处。

【End】

推荐阅读 

百度移动平台关闭安卓渠道;苹果将推 iPhone SE 2 代;微软开源 Scalar | 极客头条

 机器学习霸占高薪榜、区块链偃旗息鼓?2020 年软件工程师状况解读!

编程语言性能实测,Go比Python更胜一筹?

Python 爬取李子柒辣椒酱 1794 条数据,有人嫌牛肉粒太小...... | 原力计划

大神如何一招完美解决Hadoop集群无法正常关闭的问题!| 博文精选

比特币技术栈的演进

你点的每一个在看,我认真当成了喜欢

猛戳“阅读原文”,填写中国远程办公-调查问卷

发布了1716 篇原创文章 · 获赞 4万+ · 访问量 1538万+

おすすめ

転載: blog.csdn.net/csdnnews/article/details/104386211