we ought to do sanity checking on the URLs that zas comes up with.
2017-05-22 14217, 2017
ruaok
ideally, we should figure out which URLs take the most amount of CPU time.
2017-05-22 14218, 2017
zas
I would say every module whenever it makes sense and doesn't break stuff
2017-05-22 14223, 2017
ruaok
not sure how hard that is.
2017-05-22 14235, 2017
ruaok
the whenever makes sense is the hard part.
2017-05-22 14241, 2017
ruaok
but TT for sure. Moose as well?
2017-05-22 14244, 2017
xps2 has quit
2017-05-22 14241, 2017
bitmap
Moose is slow, but the ws uses it heavily as well, so probably not as much as TT
2017-05-22 14257, 2017
zas
yes, very likely the top 1 target
2017-05-22 14217, 2017
ruaok
TT XS is a simple no-brainer.
2017-05-22 14224, 2017
bitmap
I don't know of any XS modules for TT other than Template::Stash::XS, which I believe is already used, but I'd have to double check
2017-05-22 14229, 2017
ruaok
how do we get there soon?
2017-05-22 14232, 2017
yvanzo
Isn't Moose slowing down startup only?
2017-05-22 14248, 2017
bitmap
object creation is slow, too
2017-05-22 14220, 2017
zas
btw, we can measure the impact of any change within minutes, so the idea is to deploy XS version of one module, and see if it improves things or not
2017-05-22 14213, 2017
ruaok
I forget how XS version are installed via docker. isn't that it checks to make sure that the complier is installed and then tries to compile them?
2017-05-22 14229, 2017
ruaok
or do we need to specify different modules?
2017-05-22 14206, 2017
bitmap
we'd have to specify different modules in the cpanfile, if they exist
2017-05-22 14212, 2017
ruaok
do we use Template::Stash?
2017-05-22 14227, 2017
ruaok
as bitmap said, there dont seem to be many XS modules.
2017-05-22 14234, 2017
Mineo
Gentlecat, I saw your review request, but there's a public holiday coming up, so I won't be able to look at it before next week
2017-05-22 14258, 2017
ruaok
even taking the topmost page and moving it to react ought to make a measureable impact.
2017-05-22 14258, 2017
Gentlecat
Mineo: that's fine, no worries
2017-05-22 14215, 2017
Gentlecat
I'll probably set up that branch separately anyway
2017-05-22 14221, 2017
Gentlecat
with triggers and stuff
2017-05-22 14246, 2017
Gentlecat
but I need to make sure that schema change is integrated properly first
2017-05-22 14252, 2017
bitmap
I think TT uses TT::Stash internally
2017-05-22 14220, 2017
bitmap
but I see the XS version in the cpanfile, so it might already use that
2017-05-22 14224, 2017
ruaok
and if an XS module exists for it, there was probably a good reason for someone to write that. :)
2017-05-22 14228, 2017
ruaok
boo
2017-05-22 14232, 2017
ruaok
might?
2017-05-22 14244, 2017
ruaok
how do we verify?
2017-05-22 14254, 2017
bitmap
it's definitely installed in the container, at least, so I assume it picks it up
2017-05-22 14256, 2017
ruaok
there isn't a fallback mechanism for XS is there? Meaning, that if the compiler isn't installed and the XS extension cannot be compiled that it falls back to the pure perl version?
remind me -- how does the process to react work? do the templates get rendered client side or server side still?
2017-05-22 14217, 2017
bitmap
but yeah, there is fallback in the code as well, but it seems to be used
2017-05-22 14222, 2017
ruaok
to move to react...
2017-05-22 14225, 2017
yvanzo
C-compiled are written to files?
2017-05-22 14245, 2017
ruaok
"but it seems to be used" or "but it seems to be UNused"?
2017-05-22 14259, 2017
bitmap
they're still rendered server-side
2017-05-22 14223, 2017
bitmap
seems to be used, as in the XS version seems to be used :)
2017-05-22 14230, 2017
bitmap
not the fallback seems to be used
2017-05-22 14253, 2017
ruaok
so, then you change the controller to use a different rendering method and port the template? what else needs to happen?
2017-05-22 14205, 2017
ruaok wonders if we can crowd source the template conversion
2017-05-22 14239, 2017
ruaok
loads of people might understand how to move a template. easier than coding, and if we put out an official call for help..
2017-05-22 14247, 2017
ruaok
port a template, get more web service requests.
2017-05-22 14252, 2017
ruaok
seems like we'd get takers. :)
2017-05-22 14209, 2017
agentsim joined the channel
2017-05-22 14213, 2017
bitmap
you can either port the entire template and change the renderer for that endpoint in the controller, or port specific TT macros and use React.embed to invoke the React components within TT
2017-05-22 14245, 2017
ruaok
ohh, interesting.
2017-05-22 14252, 2017
ruaok
how many of the macros have been ported?
2017-05-22 14253, 2017
bitmap
the latter is much easier and allows moving things incrementally
2017-05-22 14220, 2017
bitmap
some, but not many :) root/components/common-macros.tt is huge
2017-05-22 14231, 2017
ruaok
I'm thinking having you and yvanzo focus on porting macros (harder) and asking for help on moving templates (easier).
2017-05-22 14245, 2017
ruaok
yeah, I know we have a lot of macros.
2017-05-22 14256, 2017
bitmap
I think porting the macros is easier than the templates, since they're small and you can test them in isolation
2017-05-22 14203, 2017
bitmap
the templates are just tedious
2017-05-22 14208, 2017
yvanzo
Would be interested in top 10 hungriest URLs.
2017-05-22 14222, 2017
ruaok
yvanzo: tomorrow. :)
2017-05-22 14245, 2017
ruaok
actually, we should look at the top. all of them.
2017-05-22 14255, 2017
ruaok
perhaps we can see a pattern that might give a clue
2017-05-22 14201, 2017
ruaok
zas: ^^
2017-05-22 14202, 2017
Freso
top ∞
2017-05-22 14249, 2017
zas
I'll provide all needed data tomorrow
2017-05-22 14256, 2017
ruaok
\ø/
2017-05-22 14225, 2017
yvanzo
bitmap: am currently failing to run tests: Couldn't connect to the renderer. at musicbrainz-server/lib/MusicBrainz/Server/View/Base.pm line 36.
2017-05-22 14214, 2017
CatQuest
I am cutious about top most hungry urls too actually