Rumah >pembangunan bahagian belakang >tutorial php >Pertukaran nilai kunci tatasusunan PHP: perbandingan prestasi dengan bahasa pengaturcaraan lain

Pertukaran nilai kunci tatasusunan PHP: perbandingan prestasi dengan bahasa pengaturcaraan lain

王林
王林asal
2024-04-30 12:48:01929semak imbas

Fungsi array_flip() PHP berfungsi lebih baik daripada PHP pada tugas pertukaran nilai kunci, tetapi ketinggalan di belakang C++, JavaScript dan Python. Hasil penanda aras khusus menunjukkan: C++ mengambil masa 0.000025 saat, JavaScript mengambil masa 0.000029 saat, Python mengambil masa 0.000032 saat dan PHP mengambil masa 0.000047 saat.

PHP 数组键值互换:与其他编程语言的性能对比

Pertukaran Nilai Kunci Tatasusunan PHP: Perbandingan Prestasi dengan Bahasa Pengaturcaraan Lain

Pengenalan

Pertukaran Nilai Kunci Tatasusunan adalah operasi biasa yang melibatkan banyak bahasa pengaturcaraan tatasusunan dan pertukaran nilai. Dalam PHP, ini boleh dilakukan dengan mudah menggunakan fungsi array_flip(). Walau bagaimanapun, apabila bercakap tentang prestasi, adalah berguna untuk membandingkannya dengan bahasa pengaturcaraan popular yang lain.

php

$array = ['a' => 1, 'b' => 2, 'c' => 3];

$flipped = array_flip($array);
e

array = {'a': 1, 'b': 2, 'c': 3}

flipped = {v: k for k, v in array.items()}
e

javascriptrreeee

c ++ (menggunakan std :: unordered_map)

const array = {a: 1, b: 2, c: 3};

const flipped = Object.fromEntries(Object.entries(array).map(([k, v]) => [v, k]));

praktikal kes Fail JSON mengandungi data berikut:

#include <unordered_map>

int main() {
  std::unordered_map<std::string, int> array = {{"a", 1}, {"b", 2}, {"c", 3}};

  std::unordered_map<int, std::string> flipped;
  for (auto const& [key, value] : array) {
    flipped[value] = key;
  }

  return 0;
}
Untuk menukar nilai utama, anda boleh menggunakan kod berikut:

{
  "name": "John Doe",
  "age": 30,
  "city": "New York"
}

Output:

$json = json_decode($jsonString, true);
$flipped = array_flip($json);

var_dump($flipped);

Ujian Prestasi

Untuk membandingkan prestasi bahasa yang berbeza, anda boleh menggunakan rangka kerja penanda aras. Berikut adalah hasil penanda aras yang dilakukan menggunakan PHPBench:

Bahasa

Masa (saat)

0.000047 0003 20.0000290.000025Seperti yang dapat dilihat daripada keputusan, C++ ialah bahasa berprestasi terbaik untuk input kecil, diikuti oleh JavaScript dan Python. PHP menunjukkan prestasi yang lebih teruk dalam ujian ini.
PHP
JavaScript
C++

Atas ialah kandungan terperinci Pertukaran nilai kunci tatasusunan PHP: perbandingan prestasi dengan bahasa pengaturcaraan lain. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn