microsoft / microsoft/TypeScript-Sublime-Plugin

Use an alternative JSON deserialization library

Offen
#157 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Enhancement
Vorherrschende Sprache
JavaScript
Sterne
1.7k
Forks
236
Ø Merge
21 T. 13 Std.
Gemergte PRs (30 T.)
1

Beschreibung

I've heard through the grapevine that one of our current constraints has been JSON size due to the limits of parsing speed. A fairly recent blog post I read actually points out two incredibly capable competitors:

See: JSON vs simpleJSON vs ultraJSON

Offhand notes:

  • Both libraries seem to be consistently faster for loads.
    • This is significant beacuse we only do loads.
  • UltraJSON generally seems to be faster than simplejson.
  • UltraJSON has a C code dependency.
  • simplejson is written in Python, but has an optional C backend for speed.

I think it would be worth experimenting with the two to see what kinds of gains we can get.


I've plotted the data from the blog post below.

Loads

image

image

Dumps

image

image

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Das Issue nennt keine Repository-Dateien, Tests oder Einstiegspunkte. Beginne daher damit, den aktuellen JSON-Deserialisierungspfad im Plugin zu lokalisieren. Führe Benchmarks der Ladevorgänge mit simplejson und UltraJSON im Vergleich zur bestehenden Implementierung durch und berücksichtige dabei die C-Abhängigkeit von UltraJSON. Dokumentiere, ob die gemessenen Verbesserungen eine Änderung rechtfertigen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
javascript, python
Bereich
performance, tooling
Issue-Typ
Refactoring
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.