ホームページ >バックエンド開発 >PHPチュートリアル >C# が PHP より効率的であるのはなぜですか?

C# が PHP より効率的であるのはなぜですか?

WBOY
WBOYオリジナル
2016-06-17 08:32:192460ブラウズ

先日の面接で、技術者が「C# はマルチスレッドですが、PHP はシングルスレッドなので C# の方が効率的です」と話していましたが、C# のマルチスレッド化はどのように反映されているのでしょうか。 PHPのシングルスレッドはどのように反映されるのでしょうか?私は新卒で基礎的なことにはあまり興味がなく、現在勉強中です...

返信内容:

開発効率や運用効率に関係なく、動的型の固有の弱点を補うことはできません。
もちろん、Hello World だけが必要な場合は... 面接官も棒だった… 動作効率という点では、動的言語よりもJITを使ったコンパイル言語の方が当然優れています。 招待してくれてありがとう、愛してくれてありがとう。
C# が PHP より効率的であるのはなぜですか? C# が PHP より効率的であるのはなぜですか? C# が PHP より効率的であるのはなぜですか? C# が PHP より効率的であるのはなぜですか? 以上。

文を追加します:
C# と PHP の使用シナリオは異なります。どのように比較しますか?何と比べて? ?
この卑劣なザクはまだ私のガンダムと競争する勇気があるのですか? 「PHP よりも C# の方が効率的です。」 そんな甘い技術スタッフを採用するのは、間違いなく将来の学習と成長の妨げになります。

実際、より深く理解すると、C# と PHP は同じ種ではないため、実際にはまったく比較できないことがわかります。誰もが食べたり飲んだり下痢をしたりする可能性があるからといって、比較することはできません。 PHP と比較すると、C# ベースの ASP.NET を使用する方が適切です。もちろん、単一スレッドだけで比較すると、
PHP にはマルチスレッドがありません。これは、PHP でスレッドを開始して他のタスクを実行することができないためです。したがって、複数のリクエストがある場合、それらは処理のためにサーバーに渡されます。サーバーはユーザーごとに php スクリプトの処理プロセスを作成します。したがって、PHP は通常、Web 開発にのみ使用されます。
C# では、PHP ではできないことがたくさんあります。 C# は、Web 開発とサーバークライアント開発の両方に使用できます。したがって、マルチスレッドは C# にとって非常に重要です。マルチスレッド クローラー ソフトウェアを作成し、サーバー上で実行できます。 C#はゲーム開発にも利用でき、ゲームなどではマルチスレッドが広く使われています。別の例としては、C# での Web 開発が挙げられます。たとえば、ユーザーがデータを返す必要のないリクエストを開始し、バックグラウンド処理に時間がかかる場合、どうすればよいでしょうか。スレッドを開始し、ゆっくりと処理します。 1. 非常に多くの言語があり、そのすべてが特定の問題に対して頑固です。
2. マルチスレッドの記述が不十分であり、同様に非効率的です。
3. PHP を比較しているため、ほとんどのプロジェクトは Web に焦点を当てています。
4. Web に重点を置いている人は、必然的にデータベースを扱う必要があります。
5. データベースが良くないと、すべてが悪くなります。
6、時間、開発サイクル。実戦では非常に気になるところ。 「PHPよりC#の方が効率的」というのは、動作効率が高いということでしょうか?マルチスレッドはシングルスレッドよりも優れていますか?では、golang のファイバーは C# よりも上位なのでしょうか? node.js のような単一スレッドで生き残るにはどうすればよいでしょうか? PHP はバージョン 7 まで非常に早く開発されており、C# に関しては効率の点で Rust、GO、Swift、Java と比較することができます。 これはシングルスレッドまたはマルチスレッドの問題ではなく、解析とコンパイルの問題です
私は C# を約 7 年間、PHP を 8 年間書いてきました。
C# は型変換を考慮する必要がなく、デザインパターンを適用するにも相互変換に時間がかかるため、言語レベルで言えば PHP の方が開発効率が高くなります。基本的には配列を学び、世界で成功しています。もちろん、現在はオブジェクト指向も提唱されています。

実行レベルでは、C# は中間言語として MSIL を使用し、実行中に動的にネイティブ コードにコンパイルされます。PHP はソース コードを使用し、実行中に動的にコンパイルされますが、オペコードはキャッシュできます。

次に、このトピックのマルチスレッドの側面について説明します。C# にはマルチスレッド用の構文シュガーが組み込まれていますが、実際にはそれをサポートするライブラリ (System.Threading など) が必要です。もちろん、ランタイムは Windows システムのスイッチング タイム スライスによって引き続きサポートされます。 PHP はデフォルトではマルチスレッドのサポートを提供しませんが、マルチスレッドもサポートできる pThread 拡張機能があります。

==================================
上記はすべてナンセンスです。以下はハイライトです:
「PHP は世界で最高の言語です」 効率の問題についてはコメントしませんが、マルチスレッドとシングルスレッドと効率の間にはどのような関係があるのでしょうか?
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。