Reducing code-size for web version

Ouverte
#165 3 commentaires 3 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
30/100
Type d'issue
Refactorisation
Clarté
À clarifier
Activité
À l'abandon
Stack technique
javascript, sqlite, wasm

Piste de recherche

Start by reviewing the browser compilation configuration and how Emscripten includes canvas, SDL audio, requestAnimationFrame, filesystem, TTY, and _sysconf in the minified output. Determine which compilation options can exclude unused code, then verify that the browser build remains functional with a reduced minified size.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Currently even the minified version is a whopping 2.04 MB which is a rather heavy even when gzipped. Looking through the code, I noticed that Emscripten's canvas, SDL audio and requestAnimationFrame are included in the minified output, which are obviously not used by SQLite.

When compiling only for browser, ENVIRONMENT_IS_NODE and ENVIRONMENT_IS_SHELL would be false and could be dead-code eliminated. Also, the filesystem and TTY also takes out a substantial chunk of code which could be unnecessary. _sysconf is also ever called with 30 so it could be aggressively inlined.

I wonder if there are options to set which could reduce the code size?

Langage dominant
JavaScript
Étoiles
13.7k
Forks
1.1k
Métriques de merge des PR
Aucune PR mergée en 30 j

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de sql-js/sql.js

Toutes les issues de sql-js/sql.js

Issues similaires

Plus d'issues JavaScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.