microsoft / microsoft/TypeScript-Sublime-Plugin
Use an alternative JSON deserialization library
Dieses Issue hat noch niemand übernommen.
- 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

Dumps


Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Ö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
