Python - json, ujson yoki orjson

Python - json, ujson yoki orjson

Ibrohim Bultakov
Rasm realpython.com'dan chopildi!!!
Birinchi maqolam bo'lgani uchun xato kamchiliklar bo'lsa oldindan uzur so'rayman!

Xo'sh, ko'p dasturchilar JSON (JavaScript Object Notation) haqida eshitgan bo'lsalar kerak (Siz ham eshitgan bo'lsangiz kerak!).

Bugun siz bilan Python dasturlash tilining json (standart kutubxona) kutubxonasining o'rnini bosadigan ujson (UltraJSON) va orjson haqida gaplashamiz.

UltraJSON - bu Python (3.7+ uchun) bilan C tilida yozilgan tezkor JSON kodlovchi va dekodlovchi kutubxona.

orjson - bu Python uchun tezkor JSON kutubxonasi. U JSON uchun eng tezkor Python kutubxonasi sifatida baholanadi.

json, ujson va orjsonni taqqoslaydigan kod yozib ko'ramiz. Taqqoslash natijalari qiziqarli bo'ldi.

import json
import ujson
import orjson

from time import time


def main(func_name: str, dumps, loads):
    data: str = open('data.json').read()
    start_d: time = time()
    dumps(data)
    end_d: time = time()

    start_l: time = time()
    loads(data)
    end_l: time = time()
    print(f"{func_name} {end_d - start_d}s {end_l - start_l}s")


print("Nomi dumps loads")
main(func_name="json  ", dumps=json.dumps, loads=json.loads)
main(func_name="ujson ", dumps=ujson.dumps, loads=ujson.loads)
main(func_name="orjson", dumps=orjson.dumps, loads=orjson.loads)

# json faylni https://github.com/bultakov/json-ujson-orjson shu yerdan olishingiz mumkin.

Natija:

JSON fayl hajmi 24.5MB

Xulosa

Ko'pgina hollarda siz boshqa kutubxonalarga bog'liqlikni olib tashlashni xoxlasangiz python standart json kutubxonasi bilan ishlashingiz mumkin.  Agar siz ko'proq tezlikni xohlasangiz va yanada murakkab kod bilan ishlashga tayyor bo'lsangiz, unda siz orjson'dan foydalanishingiz mumkin.


Muallif: Ibrohim Bultakov

Github: https://github.com/bultakov/json-ujson-orjson

Savollarni shaxsiyga, @python_uz yoki @DjangoUzb guruhida yozavering.

Report Page