こんにちは
コードの品質と速度がプログラマーに依存していることは誰もが知っています。 優れたプログラマーは、PLの長所と短所を巧みに使用できます。
前回、
PHPはその強みを
示しました-数字は数字です。 Pythonでは、数値はオブジェクトです。
そのため、客観的なテストを行うには、数学オブジェクトも考慮するためにPHPが必要です。
テスト方法
複素数は優れた数学オブジェクトです。PHPおよびPythonでは、複素数はオブジェクトで表されます。 基礎として、素数の素朴な検索と、
Thomas Vander Sticheleによって記述された
コードでテストを行いました。整数の代わりに複素数の
実数のみが使用されます。 主なことは、オブジェクトが2つの言語で使用されるという条件が満たされていることです。
テストの客観性を観察するために、コードを互いに最も類似するようにしようとしました。 したがって、私はPythonについて知っているさまざまなトリッキーな最適化を使用しませんでしたし、PHPについても知りません。 Pythonには複素数の組み込みクラスがありますが、テストの客観性のために、複素数のクラスはPHPバージョンと同様に最小限の機能で記述されています。
結果のコードは次のとおりです。
Php
Python
テスト中
私のテスト環境では、Celeron 1.2GHzプロセッサー上のVMWare Player 3で実行されているUbuntu 10.04が判明しました。
- PHP 5〜50秒。
- Python 2.6-30 c。
おわりに
簡単な数学計算が必要な場合は、PHPを使用してください。
客観的なテストでは、Pythonは高速です。
Thomas Vander Sticheleは、
エラトステネスのふるいを使用すると、素数
の検索を何度も加速できることにも注目しました。
PS:コードが同等ではない場所を指定してくれれば、トリッキーな最適化なしで感謝します。
python-django-spbグループの皆さん、こんにちは。参加してください。