Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
NotificationsYou must be signed in to change notification settings

JayAyAre/PyScript-vs-JavaScript

Repository files navigation

Este proyecto forma parte de mi Trabajo de Fin de Grado (TFG), cuyo objetivo principal es comparar de forma rigurosa el rendimiento deJavaScript yPython ejecutado en el navegador. Para ello, se utilizaPyScript como entorno de ejecución Python basado en WebAssembly.

A través de diversos benchmarks interactivos, se analizan y comparan ambos lenguajes en distintos escenarios reales de cómputo, incluyendo operaciones matemáticas intensivas, manipulación de datos, algoritmos de machine learning, y verificación criptográfica.

📌 Objetivo del proyecto

Este TFG tiene como objetivos:

  • Evaluar de forma sistemática el rendimiento deJavaScript (nativo del navegador) frente aPython ejecutado mediantePyScript/Pyodide.
  • Diseñar una interfaz web interactiva con Astro para visualizar y comparar resultados de pruebas computacionales.
  • Entender las implicaciones prácticas del uso de Python en navegador mediante WebAssembly (coste de arranque, uso de memoria, compatibilidad de librerías).
  • Aprender y consolidar conocimientos en tecnologías web modernas: Astro, Web Workers, librerías de ML en JS y Python, WebSocket, Tailwind CSS, etc.

🧪 Ámbitos de análisis

Los benchmarks se agrupan en distintas categorías según el tipo de carga computacional:

  • 🔢Cálculos matemáticos intensivos: Ejecucion de algoritmos como multiplicación de matrices, calculo de digitos de pi...
  • 🧠Procesamiento de grandes volúmenes de datos: Ejecución de operaciones sobre muchos datos.
  • 📊Carga de graficos complejos: Impacto del renderizado de graficos de puntos de dispersion y series temporales.
  • 📡Manejo de peticiones concurrentes: pruebas que utilizan WebSocket o APIs locales para simular cargas distribuidas.
  • 🔐Cálculo criptográfico y verificación de integridad: cifrado AES, autenticación de datos.
  • 🧬Reconocimiento de patrones: clasificación de imágenes (Iris, Digits).

Todas las pruebas están diseñadas para ejecutarsedirectamente en el navegador, sin necesidad de backend, excepto en pruebas específicas donde se compara el rendimiento con entornos servidor.

🧰 Tecnologías empleadas

Frontend

  • Astro — Framework para UI estática moderna
  • Tailwind CSS — Estilos responsivos y reutilizables
  • Componentes reactivos (HTML, JS, PyScript)

Backend (solo para entorno local)

  • Servidor de pruebas en Python conFlask,websockets,cryptography
  • Servidor en Node.js para pruebas en paralelo

Entorno Python (PyScript)

  • PyScript
  • Pyodide (Python compilado a WebAssembly)
  • numpy,scikit-learn,pickle,crypto...
  • Web Workers en Python

Entorno JavaScript

  • Librerías científicas:ml-knn,ml-random-forest,math.js...
  • Web Workers para paralelismo
  • performance.now() y otras herramientas nativas para medir tiempos

🚀 Ejecución del proyecto

1. Clonar el repositorio

git clone https://github.com/JayAyAre/PyScript-vs-JavaScript.gitcd PyScript-vs-JavaScript

2. Ejecutar el repositorio

a) Si ejecutas elLOCAL-TFG

  1. Instala las dependencias de Python:
cd LOCAL-TFGpip install -r requirements.txt
  1. Instala las dependencias de Node.js:
npm installcd ASTRO-TFGnpm install
  1. Escoge el ámbito a testear, la prueba y la versión si está disponible.

  2. Ejecuta el script para iniciar los servidores:

python ./start_servers.py
  1. Accede desde el navegador a:
http://localhost:8000

o bien

https://localhost:8000

dependiendo de la prueba.

b) Si ejecutas elASTRO-TFG

  1. Instala las dependencias de Node.js:
npm install
  1. Ejecuta el entorno de desarrollo:
npm run dev
  1. Accede desde el navegador a:
http://localhost:4321

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp