@justinbmeyer I am willing to accept some performance hit when initially creating the page. I was surprised when updating the page took even longer. My expectation was that Can JS would be quick and efficient especially when no DOM updates were required.
Justin Meyer
@justinbmeyer
CanJS's observables are "quick" but not quick compared to plain JS objects
they have been worked on a lot to make performance as fast as possible
btw, if you have objects that you don't need observable, you can define their type like "type": "*"
with the define plugin
those objects will not be converted to Maps / Lists
Christopher Oliphant
@RALifeCoach
When I strip down the big object to be an object that contains only needed properties, there is slight improvement on initial load and a huge improvement on update.
I did make use of type: ‘*’ - that gave some improvement
Justin Meyer
@justinbmeyer
the improvement on update doesn't make sense
I wonder if this is what @Bajix was talking about
are you listening to "change" events?
the number of props shouldn't matter to update
ah ... if you are listening to "change" events ... then @Bajix is also right that additional slowness will be introduced
in the initial render
b/c bubbling will need to be setup
Christopher Oliphant
@RALifeCoach
I don’t have a need to fire events on data changing. The only events would be internal to the UI. (Updating the DOM when a value changed.)
Justin Meyer
@justinbmeyer
not sure what that means ... does that mean no, you are not binding on "change" events?
if that gets hit, something is setting up bubbling
Dovid Bleier
@dbleier
the goal is to get logHellos to fire again after cache is updated
Christopher Oliphant
@RALifeCoach
@justinbmeyer in many ways my code is quite simple. All data is display only. There is some binding against controls, but not against the data itself.
Dovid Bleier
@dbleier
I have to run to a wedding, so I probably won't check back until tomorrow. thanks for the help
Justin Meyer
@justinbmeyer
@RALifeCoach if that's the case, I wouldn't convert it to a Map at all
Christopher Oliphant
@RALifeCoach
Once everything is loaded, the page is quite quick.
the problem is that on initial display the controls are loaded and then updated on all 156 rows
Dovid Bleier
@dbleier
@justinbmeyer what would you use if not a Map? I thought maps were the heart of canjs. My app is also read only and changes are only based on what is received from the server
Christopher Oliphant
@RALifeCoach
Are you suggesting that I pass all data as attributes to the component? There are a lot of attributes!
@justinbmeyer are you still here?
Christopher Oliphant
@RALifeCoach
This is the annoying part - someone makes a statement, I ask for clarification and … silence. This doesn’t happen all the time, but enough that it is annoying.
Mohamed Cherif Bouchelaghem
@cherifGsoul
@RALifeCoach we try to help you everyday
Christopher Oliphant
@RALifeCoach
And you guys have been great - I do not say that often enough. I praise you guys to the folks at work. The level of response to questions from original developers is truly amazing.
Mohamed Cherif Bouchelaghem
@cherifGsoul
We are at our work offices and we took time to help you
Thank you :)
Christopher Oliphant
@RALifeCoach
It’s just the statement, question, silence that’s trying. If you are busy, fine, just let me know.
Mohamed Cherif Bouchelaghem
@cherifGsoul
yes silence means busy
:)
Kevin Phillips
@phillipskevin
He might just mean to pass the raw data to your template
instead of creating a can.Map instance and passing that
Christopher Oliphant
@RALifeCoach
Justin made a statement - I don’t need to use a Map. That’s a significant statement, one that the other user questioned as well. We both asked for more details and I now may wait an hour to a few days to get a response.
Justin Meyer
@justinbmeyer
@RALifeCoach jeez man ... I was literally helping you up to the second I had to leave for a client training
I was late for my car even
sorry for not letting you know
anyway, I'm going to have to start the training now. I will hopefully be available after 7 PM CST, but I might go to dinner