-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Epic dynamic diagram 3 #93
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pioliiixxxxx 👍
function reloadDiagram(elements) { | ||
const initTime = Date.now() | ||
|
||
currentElements = [...elements] | ||
changeElementsMode() | ||
const ids = elements.map((element) => element.data.id) | ||
cy.filter((element) => !ids.includes(element.id())).remove() | ||
|
||
console.info('Dynamic Diagram - Performance metrics') | ||
console.info('- Removing old elements', Date.now() - initTime) | ||
const midTime = Date.now() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cheeee y no podemos dejar estas métricas ocultas? Y activarlas en un modo DEBUG?
Me interesan y me gustaría que no sea paja activarlas para bajar el costo de hacer experimentos :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Inicialmente yo pensaba dejarlas: yo le apunté a ver si con muchos elementos usar un mapa mejoraba la performance. Pero lo que más cuesta, más allá de la búsqueda dentro del array, es renderizar dentro del canvas muchos nodos. Por eso con 150 nodos, si activás el "pin" nuevo que le pusimos, anda rápido y 0 problema (hay que avisar a les usuaries de alguna manera, le pondría un tooltip que diga eso a futuro).
El otro tema es que ponerle esa info ensucia el código (lo vuelve menos mantenible) y es medio una paja que no se puede reutilizar lo de las métricas de performance que están en el server de wollok-lsp-ide (esto es wollok-ts-cli y encima en un navegador). Por eso al final decidí volarlo y si en algún momento queremos pensamos un componente que pueda agregarle métricas.
Mejoras
Queda pendiente: "Una constante del REPL no figura con el candadito" pero para eso necesito pairear un toque con vos Nahue y entender así mejor lo de los scopes.