Player is loading...

Embed

Copy embed code

Transcriptions

Note: this content has been automatically generated.
00:00:00
for a while and mining is when you're on it and i'm working or collapse integral renting
00:00:06
um today i'm going to first of all thank you all for coming and
00:00:10
i'm especially glad that my little son is your first time to see me present
00:00:20
sorry
00:00:22
and and today i'm going to talk to you about probably an and collagen grandfather faster without them
00:00:27
um it is kind of known already but i've just come from that with the new results
00:00:32
and then i'll talk to you about the new thing that we did in the
00:00:35
last six months and that is running um scott faster with volume on any platform
00:00:42
so for those who don't know what guardian is this is probably there are slight bit summaries is it best
00:00:48
so i got them is a virtual machine or language wrong thing which is built uh on top of the grout compiler
00:00:57
and it enables us to run a menu languages so it's a particular something
00:01:01
and you're here on the slide you can see you can run languages like java a skyline coupling
00:01:06
but then together with them in the same and then you can look round dynamic languages like doubts which will be are like them
00:01:13
and then it's really cool that can also run all of the native languages because it's all support the l. b. m.
00:01:18
uh interpreter and then on the bottom of the goddamn sentimental there isn't ruddy glow compiler
00:01:24
and then on button you can run that on the top of course but just like you do it's colour or you can
00:01:30
run it as an o. j. s. application you can run it inside
00:01:33
of databases another native but from such as oracle database of my scalp
00:01:37
or you can run it as a standalone shell script shape and we'll have a
00:01:42
bit more today and this this picture so what's really in the core of this uh
00:01:48
probably and so i won't have time to go into the details but the core is the broad compiler write it all revolves around it
00:01:55
and what's the key difference of the grout compiler to the others um is a
00:01:59
few things it's written in java right so the previous compiler see two was written in
00:02:04
c. plus plus and it was essentially very kind of in tangle with the v. m. in the courts but yeah
00:02:10
right and then broke in and it was written in java and get the clear separation appeal interface to the yeah
00:02:15
so it it kind of became very more modular meant the noble and
00:02:18
extensible mexican plugin interface you can defector things so it makes development release
00:02:24
and the crowd compiler comes in two flavours which we'll see in all of the graphs that they show trial though
00:02:30
draw the presentation so there is a community vision or short c. which is essentially the open source a part of the
00:02:37
girl compiler and there's an enterprise edition which as a few
00:02:40
advanced optimisation is which will basically uh add to the performance right
00:02:46
and our general goal is that uh you know the a. p. i. of the grout yam doesn't really change
00:02:52
you better you're in like community doesn't run enterprise edition just in
00:02:56
the performance and then uh because of this nice kind of um
00:03:02
nice interface and you know modularity and extends it it it it was very easy to develop really cool optimisation smell
00:03:08
so what makes crawl faster i would think there is a lot of them right but i would take three all is which i like the most
00:03:16
which is partially state analysis a publication and priority mine act so these two three i think
00:03:22
make rock kind of unique compared to the other compilers and especially how they interact with each other
00:03:29
so if you wanna know more about these you can go and look at the papers about which
00:03:34
ah but in in short you know if you have something like this streams operation uh that you see on the top here
00:03:42
uh essentially what but the grout will the will says that so that's what
00:03:45
everyone programs today specially starts colour you just do you know collection operations high level
00:03:50
uh would grow with the with the with the combination of all these optimisation could use
00:03:54
in the end something like this level right actually measure performance i looked at the grass and measure performance
00:04:00
and it's actually not quite there yet it's there's a few percent
00:04:03
difference but what you would get this is sensitive like writing about
00:04:08
okay so that's the cortical and why is this good for us
00:04:13
while we might be talking to discover community that well this colour language
00:04:18
'cause many obstructions kinda modern any right you know in a very high level of
00:04:23
your you explicitly say what you want to do any captains and in these cases
00:04:28
robin is especially good and so here on this graph the essentially and the
00:04:34
problem with all the benchmarks before uh that kind of show the performance of
00:04:39
a virtual machines and and uh languages was that they were can return for these old
00:04:44
school style programming into other you have like big functions with by loops you know and then
00:04:50
and then if you in line those doesn't really matter much but that's not actually what we can to the soul
00:04:56
uh what we've done is we developed this uh new benchmarking seed called renaissance
00:05:01
um and essentially it's kind of neat three present more with people break today
00:05:06
right and if you look on this graph um on the uh essentially most of
00:05:10
the prosody just speed up on the left and then you have benchmarks on the bottom
00:05:15
and then you have a speed the for the individual and look at what do you mean at
00:05:19
the end okay so that's the do you mean is actually but you really care about big yeah
00:05:23
right and here we have the l. e. e. n. c. which we've seen the beavers like
00:05:29
and on the y. axis is the speed that right so and then you look
00:05:32
at this um renaissance ben franklin represents what people write today i especially is colour
00:05:38
you will see that you get the do you mean of of thirty two percent in problem like so if you run our
00:05:44
your program we'd rather e. e. you will get thirty two percent
00:05:48
approve endangering fit c. r. which would see a shortly how easy this
00:05:54
you will get a six percent right now and then there is the specifics colour the benchmark which is just
00:06:00
first colour and it has a lot of like tools and stuff firms colour ecosystem in here you will again see
00:06:07
uh thirty eight percent for val enterprise and seven percent for c. and
00:06:13
because of this paper is already using it in production so many feet
00:06:17
you know the call that this that is the teacher around is running relatives
00:06:21
generated but got so you know this is a solid technology it won't fail
00:06:27
um and then before you know they were people are always going out um there was one problem that the crowd was written in
00:06:34
java so people would always say valley yeah but then it starts
00:06:37
lawrence on and in the last year but we developed is uh
00:06:41
i like recall the brow we just takes the call grow like roll compiler and compiles
00:06:46
it is a native library right and then put it is uh did compiler in court
00:06:52
so here on the essentially and then repackage it isn't a which is a soon see what it is
00:06:59
and uh every compilation is gonna separate things are just come by the
00:07:02
function and draw a the whole the whole heap when you start or right
00:07:07
and it's actually been able to see on the on the left you will see that you know
00:07:11
on the on the right is what happened before this is a simple streams example that they a compost
00:07:16
you will see that the session the first run it would take a second
00:07:18
to do a first iteration and then it will be like slowly get to that
00:07:22
to the to the performance of on the on the side even see how it kind of you know immediately goes
00:07:29
to the essentially kind of right from the get go it becomes fast and when you run this
00:07:34
would see to is basically pretty much the same numbers right so so now we have the the grout
00:07:39
a compiler you will but whenever you run europe it will run as fast the c. two in it to warm up this past this too
00:07:46
which brings us to the next point um it's essentially using
00:07:51
program for faster computation souls to discover compiler um he's notorious
00:07:57
for essentially being very slow to compile like every scholar these it is it that people would be like
00:08:01
a local that's lot as well um so but if they're done here is we use rather for compilation because
00:08:09
for compilation there is another particularly important uh thing is that it's not only of the number of machines that run
00:08:15
somewhere in the cloud which you don't see it actually or time i compilation whenever you do see a a test
00:08:20
computation is the first thing you do in a static language and because of that
00:08:24
it's your time you wait for it so you on this time to get shorter
00:08:29
that's why i'm this slide lower is but basically is the time essentially the compile and then
00:08:35
on the graphical sissy i took the numbers from the three three big projects one is
00:08:40
the uh uh a leech s. which is written is colour and the font that forgot them
00:08:45
um and then we'll have we compare like running the normal java java eight
00:08:50
running java guardian and here i'm using enterprise edition only know community edition because
00:08:56
in this case i think it's you know your time and your productivity so you know money doesn't really matter
00:09:02
ah and essentially and it's not expensive for these days so essentially and then we used
00:09:08
loop which is a new framework first calls colour compilation uh develop a door from skeleton turf
00:09:14
and essentially we lose lupin bloopers was probably are there other famous speed
00:09:19
ups colour compilation hydra and the numbers for them are pretty much the same
00:09:23
and so if we keep this if you look at here you know compared to normal job i will get
00:09:27
anywhere from like thirty twenty five percent speed and say well i
00:09:32
never get your results faster than it twenty five to thirty five percent
00:09:36
and then also if you have like a little between a perilous is this
00:09:39
colour fill them in this case actually bite size if i pipelines in their license
00:09:43
you will uh if you look at the similar improvements i mean if
00:09:47
you don't see that much because the the you know the first numbers smaller
00:09:50
but you will get pretty much the same speed so any compilation framework to use it quite a bit just commercial blow
00:09:57
um or scholar you will get about thirty percent faster village and that's your back and so um
00:10:05
and so this brings me to the conclusion of this first
00:10:07
part about well known running skull of foster draw here is essentially
00:10:14
uh using c. to make the all the the compiler in java instead of grow
00:10:19
it's just a waste of time and energy and money i saw it was just say say look basting save seven
00:10:25
percent of your performance and all you need to do is basically for jake eleven would be so now come on line
00:10:32
and that's it you know sample sensor fit down right on or you can download got the a. b.
00:10:39
m. c. e. or e. e. and put it in the buttons on the whole it's that these so
00:10:44
and you know transit peter uh people are already using it for compilation all around
00:10:48
so there's absolutely no reason to not use it just drawing drawing money time and so on out the window
00:10:56
um and then it but that's something to get you give you about thirty five
00:10:59
percent speed up which is you know if you have a service running without the machines
00:11:05
ah you know multiply the numbers it's a shepherd people thing to do an r. f.
00:11:12
and then of course for compilation for me this is like a no brainer you know you have a team of a
00:11:16
hundred people waiting thirty percent more for something and you have like one or two or three machines are five thing see i
00:11:22
it's just like a no brainer get get your done stuff done faster
00:11:28
cool um so that was the part the bog roll 'em in
00:11:31
running style of austin well but then the data is also notorious
00:11:36
for it's slow startup right so we develop in in in on the rowdy and we have
00:11:42
this essentially project called native image or people coloured grout yeah make it into just native village
00:11:47
uh which allows us to runs colour a bit fast startup and no memory proper
00:11:52
so so how does this work ah on the on the left side we start with like just like a
00:11:58
dollar you say java their c. p. and the main class with the same right everything of your application libraries
00:12:04
ah java class library and i even have something called substrate the
00:12:08
um reaches a v. m. developed in java that will kind of
00:12:12
chip together with all the lights off and then what we
00:12:15
do inside of a naked image is we do a an iterative
00:12:20
i'm in interactive analysis it's a variation of a point analysis which will
00:12:25
kind of try to see which called from the you know all of these
00:12:28
is reachable right so but but but they're using and even if you're using
00:12:32
not using some feels it would just pick the fields out you don't need that
00:12:36
right and then it runs interactive in another interesting thing it does it re initialise is or stuff so
00:12:42
so essentially you can kind of run parts of your application ahead of time if you need some configuration or
00:12:48
if you need some parsing some files you know which takes a lot of time you can essentially come and uh
00:12:55
you can just do that at build time and then it will produce
00:13:00
uh it would be kind of see lies in the keep right and then maybe a a to compare the
00:13:05
calls and take the snapshot of these he and we'll use the drought compiler of course for the same thing
00:13:11
and for just machine go right so you will get machine code is one object file you
00:13:16
need to keep is another object finding together to get an education this executable or shared library
00:13:22
so and this executable you can run just like any other make your little on pretty much any plot
00:13:27
okay so windows is it in the signal so that i mean really really uh and
00:13:31
also the support a are sixty four and andy for now but more is to come
00:13:37
um and yeah so but you get to this so called this but it's really easy it's colours like a little time hello world
00:13:45
seventy milliseconds to print like online that's it ridiculous ah
00:13:49
and then in the native image you plus the library
00:13:52
we could make this a big maybe we should do something like there's the schools colour to make this nicer
00:13:58
and it's a killer world hello world this is now just like the c. program and it's fun
00:14:03
it's it's okay and now by this interesting is because these days you know it's like micro services
00:14:10
uh along those are becoming very popular and there's a whole ton of
00:14:13
these frameworks essentially you know for micro services and what happens in the clout
00:14:18
is that basically people are um you know the cloud providers
00:14:22
or can remove in your service it's they're not start up right
00:14:26
and so when the new request comes the services to both and then your call the and its first
00:14:30
the current only to start and then your v. m. it's just thought then that takes health problem qualify
00:14:35
and here on this slide we have uh the start time for some of the frameworks is that not all the famous actor could talk about this later
00:14:42
ah but they're very popular in the coming off so for collide and so we'll
00:14:47
have again data cagey to get all and make it today and it gets acolyte
00:14:52
and that's uh the an open source fame and develop an article for micro services
00:14:56
you will get like one second on top of the book time of the crime itself
00:15:00
so it's the brooklyn secondly native image thirty five milliseconds so basically start than it just that
00:15:05
start your answering depressed so this means if your lawn the scolding i get the request
00:15:11
requests will be out before you break your service level agreement right
00:15:14
your customer will have to wait for like a second get the peach
00:15:19
i'm off and similar thing from i cannot and porpoise which is good entirely based on volume you get
00:15:25
sixty milliseconds right so it just you know service up and then another thing which couldn't saves money ah
00:15:34
is basically the memory footprint right because now encouraged compiler human goblin interpreter you don't have
00:15:39
the gloss information it's all kind of burnt into this binary you know very minimal uncompressed they
00:15:45
um you will essentially you know uh the memory footprint for essentially i'm running the first
00:15:52
request for these applications it will be about content twenty max and in seventy under an eighty
00:15:58
and with with native image it'd be about like forks less like to get thirty forty and seventy right
00:16:04
so and now you know you can you can you spend like last memory which means it's cheaper so that's it
00:16:13
um f. good so one thing that i tried before this
00:16:18
conference is getting this so to native image 'cause one limitation
00:16:22
uh in theory and there is a few or no it's still in
00:16:24
active development it's getting quite close to being ready um for why that option
00:16:30
i would say that they try that use colour famous and i notice that the calls colour communities not really trying to put this famous you
00:16:36
only get now does this you get the tone of you shoes and
00:16:39
get up and like ninety five percent of the tissues or java framework so
00:16:44
so essentially i try the fiscal the famous and i found some things that are really not working which
00:16:48
which we can fix in a matter of days um and and i can i'm not is that essentially
00:16:55
oh and of the school community doesn't really not know all this so it doesn't wanna try or doesn't report issues so on you know uh
00:17:01
this this is our priority not just open and you should get up
00:17:05
being if someone is not responding we're very you could've overloaded these these
00:17:09
say hey you know can you fix my favourite show statistics to frame batteries pretty okay and and
00:17:15
others in the t. i. so so it's kind of i think it's important to our report issues
00:17:21
test it in your c. i. if you are framer quarter of play just put native image in your c. i.
00:17:26
because it will also attract users to your framework because other start up in thirty five milliseconds and
00:17:32
you don't so it's better that you also support that so you start in like fifteen seconds or whatever
00:17:37
um so putting your c. i. and that way to keep it's all i can
00:17:41
really be provided all the flags and all the infrastructure can easily download native image
00:17:46
and you can run it i guess i'll just put it in your best um and here we all we are actively
00:17:52
working with the community so just think that's on whatever means like even in a get up whatever you want bill will respond
00:18:01
cool so they did image has another thing so whenever it's confirmatory assay
00:18:06
bad to compile java and dynamic languages in a method of blindly right
00:18:11
so what we provide in a native images something called profit guide optimisation say so
00:18:16
is actually the call brought compiler is built to mulder profiles
00:18:19
you can run in an interpreter get what your application is doing
00:18:23
and then um and then what happens is you basically uh get faster caught on
00:18:29
and we support this also would need to demonstrate it's called pro forgot optimisation so but it requires
00:18:34
it to bill to make it safer to make image feature instrument you'll get an instrument the binary
00:18:40
then you take a few of your workloads if it's of that service just send a few requests
00:18:45
uh you will get your profiles and then feed it to native imagery this flight and we'll get an optimist line
00:18:52
and what this gives us is that funny look essentially the performance of making image at the moment which has
00:18:58
still of a well known be located look too many can locating fruity to get a better
00:19:04
yeah so you if you get like this at that event and you get the cumulative number of requests sent it back to punch
00:19:11
ah you see in in the beginning of course they could images the red line it
00:19:14
will be a beta right because it starts from the very beginning at full speed right
00:19:20
ah and you will see that it needs about like a hundred thousand to five hundred to a million request
00:19:25
for the hotspot of warm up all that stuff and even when it's formed up it's just a tiny bit faster than the than the
00:19:31
naked right and that's mostly because or d. c. is currently not
00:19:35
the best thing in the role and we're working on anyone f. r.
00:19:39
but basically you know the native image and video you will get basically a rhino very soon
00:19:45
you will get faster code when you would get a just and running ah on the gate right
00:19:52
and it's also very important than a divinity school for command line tools so here on the right to give it to video force
00:19:58
colour for the particular because of all the obstruction that remove you
00:20:02
will get actually faster corbin hot it's not only that it starts fast
00:20:06
and his low memory but it will run fast it's of collecting the
00:20:09
the best i think it's like thirty seven percent faster than cut so
00:20:12
it's not like so if you wanna formative files you know in in
00:20:15
college or whatever it would just go to them like five milliseconds okay
00:20:21
both so now now we're standing on the shoulders of giants right because of the drought
00:20:26
compiler which makes stuff really thought we have the native image to compile into native code
00:20:32
and what's new would be been working slide in the last
00:20:34
six months is essentially extend this picture would be uh you know
00:20:41
three new thinks it's like deploring to mobile devices right so
00:20:44
what you're building is the point to iris android and desktop
00:20:50
and you know as a part of this effort uh we tried a few things we have a program that first of all
00:20:55
my ass is kind of the biggest problem because first belligerence it doesn't run on the in the sixty four so
00:21:00
you need like you know and they are compiler so we have to have forts want is to confuse other b. m.
00:21:06
and the other one is to use to growl native compilers that yet so what the
00:21:10
other this just for fun is to see you know how well the seller the um work
00:21:14
uh as the backend for making image annotate done is
00:21:18
we implement the namibian backup program just numbers when it's there
00:21:22
it's kind of still not in the best shape the um uh you cannot you'll see in the demo it works
00:21:27
um and what we need is one of the reasons that up responsibly threatening that it will require
00:21:34
essentially l. b. m. bit code for the applications should to the
00:21:37
i. s. i saw you know then ricochet paladin bit code indirectly
00:21:42
in case you know they pull the plug we can only say that we should yellow your
00:21:45
bit got a um and then another interesting thing with the television gives is that you can
00:21:52
you know relatively easily pork to new on each architectures if you're in the embedded market
00:21:57
like is it automotive or uh intuitive things you know uh you have some some some little
00:22:04
kind of not so well supported uh architecture you can just you know
00:22:09
even if seven million back and which is most likely you're going to generate
00:22:12
that and you should be able to it a few weeks or maybe a
00:22:16
month or two you should be able to get eight inch something's all java
00:22:20
uh and colour programs running on your their butts right but it comes with a price
00:22:26
now this is like not done yet uh moving d. c. in alabama still experimental so
00:22:32
i'll i'll keep you posted right so you can get will probably when it's done when
00:22:35
we know exactly what the story uh with like double post about it and you know talked
00:22:42
so now let's see how this cross reference colour uh and
00:22:46
of course uh it's the same platform look like right so we
00:22:50
talked about culminated image now now you have all the you know
00:22:53
byte code compiling into the uh executable which runs on any platform
00:23:00
ah what we did is now we need to do the front that's right so how does the developer
00:23:04
and which library the views right so for that fee teamed up for this company called go on
00:23:10
and together we work on this tool set it is actually consist you started your i.
00:23:14
d. right and then you have a plugin reaches in our case it's currently greater than maven
00:23:19
but i think as b. t. you know the goal the code is there so just you know someone can pick it up and make them as people again
00:23:25
i'm off and then a committees java effects mobile it essentially ah
00:23:31
contains all the u. i. components that working on all the buttons it will ever come
00:23:35
and write ins and dust up right so also and and all of that is kind of
00:23:41
would be long tools and the static libraries cross compiled for all these buttons
00:23:46
um and compiled it got an eighteen inch and set to the
00:23:50
set to the your device that so so you kind of get um
00:23:55
you know of full full blown stack for development on mobile
00:23:59
uh and of course with these long stuff you will get also um
00:24:03
extensions for all the mobile stuff integration with the modem mobile devices like
00:24:07
obstructions for cameras g. p. s. and all the things like that right um and all of this i i is open source
00:24:16
this part and not part of lawn mobile there is a closed source part that's the bigger the earned money basically um
00:24:22
so that they do some mobile specific connectivity and they do something no libraries for this kind of cross platform stuff
00:24:28
but essentially everything you need is open source to the start and you know today
00:24:33
you can come out and start cracking your like cross platform overlap on the
00:24:37
g. yeah i'm off so i think it was said most of these things
00:24:45
um
00:24:47
yeah so that this was the only way physically before you know the j. v. m. was locked because
00:24:51
because running costs but there's not a lot on on iris norman 'cause developed the proper able to comply
00:24:58
there there were feel like an open source interview commercial
00:25:01
ones but not most built on on solid ground right
00:25:05
ah the the proper team supporting it so for the first time now here proper and look at the time compiler for java
00:25:11
so we can deploy all these devices right and you
00:25:14
can kind of spoken menu ecosystem uh based enjoy life
00:25:19
and then for java facts yeah it because native code but java facts is
00:25:22
not the only library in the world there's others how to to talk about later
00:25:27
um and yeah this is all the things i said and of course this all works only for job eleven twelve and thirty
00:25:33
right so don't wait is not supported so still starting from
00:25:36
java eleven because java facts starting eleven supports all the native stuff
00:25:41
uh and andrei this coming some you're working on that that would be no in them undermines out
00:25:47
ah so let's check this out uh how does this work right
00:25:54
so so here will have this chat at present them with the tree developed in our a. i. d.
00:26:01
and then you know you will have a just here is just a normal rate a project like
00:26:06
anything else and then what we can do is channel parted developer can develop and that's a pretty
00:26:12
so we can say just great to run uh i will not compile here and the reason for that is essentially that
00:26:17
the moment really celery and stuff it corpus wait too long for this presentation to show
00:26:22
um but yeah yeah this is an application now running on the best of
00:26:26
the trap that it's calloused out as carlos colour these no robbie i'm runs faster
00:26:35
and then can send the message yeah so you can just go
00:26:39
back to write the check stuff rather downgrade to run an adaptor kit
00:26:45
but now let's see what we're gonna do for the right
00:26:48
right ah well same project you say cradle uh but native or
00:26:55
right so i of course i can i can i skip the compilation step because
00:27:01
because now i put like they you know i mean it or two minutes to build sub didn't have time for that
00:27:06
so with this bill though is it to fire up a simulator and the simulator will go to the lawn poles and you can see that
00:27:12
it sees this message is actually downloaded from the internet and all this
00:27:16
stuff here i'm using is connected so it's all in the clot right
00:27:21
so you see the message just posted and because this is a simulator you need
00:27:24
to turn it off by clicking on this button on the side and then sliding what
00:27:30
okay and then you know once you're done developing in this environment
00:27:35
you basically want to finally test it on your device to just change one variable in this case a copy the project
00:27:42
and then you say again native around and you say is that the irises it it i as i as there
00:27:47
seem you will just say iris and then what this will do is you know i mean i do wrong with
00:27:55
because see
00:27:58
well you know same two messages right so it's all connected to the same thing and then you can basically start developing right
00:28:20
oh cool
00:28:24
so and that so many especially humans colour they they seen people are using uh
00:28:31
particular trick to get the way up about this block or that you
00:28:34
cannot do j. v. m. on on on mobile and they're using scarlet yes
00:28:39
to compile skyline to j. s. and then coke into this react native
00:28:44
so here i would just like to compare essentially you know what i'm what i'm trying to but they would like to see happening
00:28:51
is that essentially responded j. v. m. community around the mobile right because
00:28:56
it's not that i don't like javascript i think it was good to have you know it's good
00:28:59
to have two things down you know things done into the o. two or more solid base line
00:29:05
so also and i would just like to compare react native and now at this point in time you know we just thought that right so we just
00:29:11
this was the card this quite getting this like demo to run was the hard part of
00:29:15
course it's still body and stuff but you know in a few months it's it's it's fine on
00:29:20
but now and then the then the removal of the all of this noise ah i
00:29:24
want to just it's now compare it to react native and see what they think that happen
00:29:28
so i can now look at the day of course track native has like seventy thousand stars and get covered or whatever
00:29:33
um and you know because of that because of the speaker community it is more components which are developed
00:29:40
um and it has another feature that we still don't have any club called updates
00:29:44
already to make a bugging application you can just you know send new poll essentially
00:29:48
the the cold running on the on the devices unequal functions it to say
00:29:52
well this function abated and it will double the new one from the internet
00:29:56
uh but then it's essentially interpreted code and it's very slow its startup slow
00:30:03
it has essentially for complicated out you won't be able to run them and it burns better and so
00:30:10
uh and for joey facts already in this state you know first of all
00:30:14
the running on the data to get like a humongous ecosystem of java libraries
00:30:18
a readily available right in one of the demos which uh you know because of
00:30:21
the d. c. that doesn't work didn't make it we can manage to discover compiler
00:30:25
on on the thing can show to use and print reasons on ice or can just like
00:30:29
you know you cannot france telecom pilot project needed some it's not number right um and then
00:30:35
you will get a better performance like because you're based on well uh it's all they become pilot
00:30:40
you get like a full day them perform something like that so basically menu
00:30:44
and click on this up actually download some stuff from the internet or my phone
00:30:48
so so it's kind of waiting for the messages within a click on and that just got like you know orchid
00:30:55
our which we've seen also the the microscopes i say get better
00:30:58
performance and process that and what needs to happen now on the
00:31:02
on the j. v. m. is like you know there is to be a community right in it just people started packing stuff up um
00:31:09
and making you like base right and then it will be very better than reacting
00:31:14
right to get you know purely native up running fast with a better commitment and uh
00:31:21
and enough skylights in boston language to start this i'm basing this before and there was this like a dope and then
00:31:28
and then there was far right and and sparkles with install and only and then make a million people like talking else levels part
00:31:35
around the world right there was the same stuff without right there was that occur actors
00:31:39
and they're actors before but in oven at cactus come and there's like graces colour that's fine make
00:31:44
libraries and then like all of the object this is the mobile right and a similar with length breadth
00:31:50
ah and what i suggest to people that you don't want to start this project
00:31:55
i mean this this libraries like flatmate given flutter they all already developed all these needed
00:32:00
components and they're all open source i think so we i think people should just like
00:32:04
borrow that on the j. v. m. and kind of make a really nice library on
00:32:08
top of it so that you can start an ecosystem on the j. v. m. right
00:32:12
uh yeah so you know if you have free time just spun a pet
00:32:17
project you give a great to build start from there at this other plug in
00:32:22
and their ego as the t. plug in you know slowly starts you know how it goes ah it was pretty fast
00:32:28
ah and what they're on next steps on this project uh we still don't support d. c.
00:32:32
for us so you just like to this up a bit to to just like collect your windows
00:32:38
so that's not yet but that's like of equal to work from the problem we
00:32:42
need to the running on andrei that will take a a probably a couple of months
00:32:45
um but we need to do is we need to use the java byte can interpret the for development because at the moment you know and then i was compiling
00:32:52
stella either the um and a java effects look at thousand seconds last
00:32:56
night very fun and so we need to put the java interpreter so that
00:33:00
that's one of the advantages or react is very as you develop you see a stop stuff appearing
00:33:06
we need to make the same thing happens or in the java interpreter an
00:33:08
ipod or on under it it just it should go by corbin seat right away
00:33:13
and of course in into the support for under but these are details you will take care
00:33:17
of this uh it's time to start checking just basically right it's like it this will benefit
00:33:22
in the beginning every project is not perfect but you will be there with some like ha for years
00:33:28
ah off and you know this is kind of it uh i would like to
00:33:33
give special thanks to your can loss and uh uh like work on this project
00:33:37
we can be together ah like is uh actually did
00:33:41
he week using lawn and essentially he worked digital effects
00:33:44
and it's this is this is that what type of contributors that are best in the role he just says i want to continue to this project
00:33:51
and then uh basically the couple months you get you know all this will request
00:33:56
actually for for peaceful rip estimate the metabolic press saying we need an automated
00:34:00
like box that might just pull it was because this is not possible for me
00:34:04
so um so like to give special thanks a lot of this work was basically
00:34:10
uh his stuff and and why couldn't i love him back and you know
00:34:13
must just do than straight from university just put a million back and it works
00:34:17
pretty impressive that's um and yeah so also composed basically you know uh i would just say two things
00:34:26
and don't faced energy time and money just put this on a on
00:34:30
a java applet on a job uh you know they know java flats
00:34:34
and you know it's time to start then you'll come you know in your community
00:34:38
for cross platform development i think scott no skylight is the best place to start that
00:34:43
and you should just start here it's it's this link you follow it you can know the same stuff it it here you can do
00:34:49
on your i. s. device right so and it's now time to start
00:34:53
the earlier could've done with heart out or just cleaning stuff well thank you
00:35:15
so with my son hardy we should online so so uh and they have any questions
00:35:23
faith
00:35:28
hello i'm pretty sure i say to see and then stands it's good to see it again and i'm
00:35:32
working answer using native image damage you doesn't it clearly a suggestion i uh there was a couple slides on
00:35:37
it's less to essentially do remote compilations because we don't have to wait for g.
00:35:41
d. mister knapp each try and you'll be wanting to stick by on a different
00:35:45
i machine that's very nice that's very cool when i appreciate a lot uh i was asked a question
00:35:50
which was a it say for example which you you know one hundred percent like the extreme for men
00:35:55
a p. g. an essence compression image and with that the eco great
00:35:59
concern or that be something that would be yeah exactly but across projects
00:36:03
oh it's a it's a tough question thanks for asking it so easy answer to it it's not that
00:36:08
i don't think i don't think i'm in a position to and so i think it's these two particular things
00:36:14
uh yeah i cannot i cannot answer this publicly uh yeah i yeah and
00:36:21
mm yes expressed similar i think he's joking transistor things in particular um
00:36:30
i think they're not so hard to do various things which are very hard to do and yeah these things are
00:36:35
moderately hard right and so so it would probably spawn opponent
00:36:40
discussion but there is a chance of this going to say
00:36:43
it's really good you think you had mentioned there is a chance but you know i cannot
00:36:46
of course i'm not completely not in a position to say is just like mike that feeling because
00:36:51
because it's not really a now it's uh it's not really the
00:36:54
core thing which is car which is you're keeping also sits there
00:36:58
think francine i'm even done very question but really we shouldn't unfair question but it's
00:37:02
i give you might you know this is a completely personal answer at that feeling
00:37:08
thank you so much
00:37:20
but
00:37:27
i i didn't understand how the native image decision memory footprint
00:37:32
uh_huh so probably the the what what happens when you start the java a
00:37:37
minister java this as it does a lot that it's that loading classes from disk
00:37:43
uh which are kind of not in an optimum formant then you know then you start interpreting those
00:37:48
classes right for you need an interpreter and an interpreter generates a ton of garbage and stuff uh
00:37:54
then you need to profile that as well right so you need a profile or any store all of this in memory for every method that you run
00:38:01
then in the c. one compiler which compiles so you could get past the warm up to compile once
00:38:07
and then after ten thousand times in in the c. two compiler which compiles the final version record which is up also need
00:38:13
you know to compilers one interpreter one profile or by cordless
00:38:17
loading and it's an open role second and you know it's all
00:38:21
i don't know what's where's it gonna need to keep like
00:38:24
massive data structures for that right so that's essentially whites right
00:38:30
yes yes that you can basically done in advance all you need to do is draw a
00:38:36
dynamic lost all the right so you can not the download the jar from the internet and running from it it right
00:38:41
so the this this is exclude some things like as the t. for example if you wanna make the image of that that's impossible right it will
00:38:47
in no way to download plug is a different versions it becomes a combinatorial explosion of like jars that you need
00:38:54
right but if you carry your mike the service if you carry your common line tool uh if you cover more well uh
00:39:01
fine i just put the jars on the task off you do a bit of configuration on your lap
00:39:09
that's a good question
00:39:24
you quickly and messing about actually specifically and the weed intensive been able to generated images dynamically
00:39:29
from niger is the downloaded and then buttons in images suggesting done any pressing gently isn't there intentionally
00:39:36
yeah but we can alter granted until two level so it actually
00:39:38
does change without any open source that's that that's yes yes that in
00:39:42
on so yeah it's this l. right that's what we need i think it would make us other compilers for your macros on your project
00:39:49
and though p. g. on top of it you would get this colour compiler that's faster than
00:39:53
hotspot and thoughts immediately that doesn't doing that's what we need but that's only seems holidays definition
00:39:58
of program we're using it directly says thank you there whoever did that to doing the hard
00:40:02
work yes i was hoping last year and i gave a presentation this will happen and see whether
00:40:08
fall amazing thanks
00:40:11
sure question new i didn't send the waist and
00:40:15
eating she slow here so then this easy she
00:40:19
it's just so not to mention active for yeah there's a there's a lot of organisations
00:40:25
in enterprise that that that uh not that and and they're not easy to do uh
00:40:29
it's like a yeah it's a lot of optimisation slight yes it it's
00:40:37
uh_huh
00:40:45
okay

Share this talk: 


Conference Program

Welcome!
June 11, 2019 · 5:03 p.m.
1574 views
A Tour of Scala 3
Martin Odersky, Professor EPFL, Co-founder Lightbend
June 11, 2019 · 5:15 p.m.
8335 views
A story of unification: from Apache Spark to MLflow
Reynold Xin, Databricks
June 12, 2019 · 9:15 a.m.
1267 views
In Types We Trust
Bill Venners, Artima, Inc
June 12, 2019 · 10:15 a.m.
1569 views
Creating Native iOS and Android Apps in Scala without tears
Zahari Dichev, Bullet.io
June 12, 2019 · 10:16 a.m.
2231 views
Techniques for Teaching Scala
Noel Welsh, Inner Product and Underscore
June 12, 2019 · 10:17 a.m.
1295 views
Future-proofing Scala: the TASTY intermediate representation
Guillaume Martres, student at EPFL
June 12, 2019 · 10:18 a.m.
1156 views
Metals: rich code editing for Scala in VS Code, Vim, Emacs and beyond
Ólafur Páll Geirsson, Scala Center
June 12, 2019 · 11:15 a.m.
4695 views
Akka Streams to the Extreme
Heiko Seeberger, independent consultant
June 12, 2019 · 11:16 a.m.
1552 views
Scala First: Lessons from 3 student generations
Bjorn Regnell, Lund Univ., Sweden.
June 12, 2019 · 11:17 a.m.
577 views
Cellular Automata: How to become an artist with a few lines
Maciej Gorywoda, Wire, Berlin
June 12, 2019 · 11:18 a.m.
386 views
Why Netflix ❤'s Scala for Machine Learning
Jeremy Smith & Aish, Netflix
June 12, 2019 · 12:15 p.m.
5026 views
Massively Parallel Distributed Scala Compilation... And You!
Stu Hood, Twitter
June 12, 2019 · 12:16 p.m.
958 views
Polymorphism in Scala
Petra Bierleutgeb
June 12, 2019 · 12:17 p.m.
1113 views
sbt core concepts
Eugene Yokota, Scala Team at Lightbend
June 12, 2019 · 12:18 p.m.
1655 views
Double your performance: Scala's missing optimizing compiler
Li Haoyi, author Ammonite, Mill, FastParse, uPickle, and many more.
June 12, 2019 · 2:30 p.m.
837 views
Making Our Future Better
Viktor Klang, Lightbend
June 12, 2019 · 2:31 p.m.
1682 views
Testing in the postapocalyptic future
Daniel Westheide, INNOQ
June 12, 2019 · 2:32 p.m.
498 views
Context Buddy: the tool that knows your code better than you
Krzysztof Romanowski, sphere.it conference
June 12, 2019 · 2:33 p.m.
393 views
The Shape(less) of Type Class Derivation in Scala 3
Miles Sabin, Underscore Consulting
June 12, 2019 · 3:30 p.m.
2321 views
Refactor all the things!
Daniela Sfregola, organizer of the London Scala User Group meetup
June 12, 2019 · 3:31 p.m.
514 views
Integrating Developer Experiences - Build Server Protocol
Justin Kaeser, IntelliJ Scala
June 12, 2019 · 3:32 p.m.
551 views
Managing an Akka Cluster on Kubernetes
Markus Jura, MOIA
June 12, 2019 · 3:33 p.m.
735 views
Serverless Scala - Functions as SuperDuperMicroServices
Josh Suereth, Donna Malayeri & James Ward, Author of Scala In Depth; Google ; Google
June 12, 2019 · 4:45 p.m.
936 views
How are we going to migrate to Scala 3.0, aka Dotty?
Lukas Rytz, Lightbend
June 12, 2019 · 4:46 p.m.
709 views
Concurrent programming in 2019: Akka, Monix or ZIO?
Adam Warski, co-founders of SoftwareMill
June 12, 2019 · 4:47 p.m.
1974 views
ScalaJS and Typescript: an unlikely romance
Jeremy Hughes, Lightbend
June 12, 2019 · 4:48 p.m.
1376 views
Pure Functional Database Programming‚ without JDBC
Rob Norris
June 12, 2019 · 5:45 p.m.
6374 views
Why you need to be reviewing open source code
Gris Cuevas Zambrano & Holden Karau, Google Cloud;
June 12, 2019 · 5:46 p.m.
484 views
Develop seamless web services with Mu
Oli Makhasoeva, 47 Degrees
June 12, 2019 · 5:47 p.m.
785 views
Implementing the Scala 2.13 collections
Stefan Zeiger, Lightbend
June 12, 2019 · 5:48 p.m.
810 views
Introduction to day 2
June 13, 2019 · 9:10 a.m.
250 views
Sustaining open source digital infrastructure
Bogdan Vasilescu, Assistant Professor at Carnegie Mellon University's School of Computer Science, USA
June 13, 2019 · 9:16 a.m.
374 views
Building a Better Scala Community
Kelley Robinson, Developer Evangelist at Twilio
June 13, 2019 · 10:15 a.m.
245 views
Run Scala Faster with GraalVM on any Platform
Vojin Jovanovic, Oracle
June 13, 2019 · 10:16 a.m.
1340 views
ScalaClean - full program static analysis at scale
Rory Graves
June 13, 2019 · 10:17 a.m.
463 views
Flare & Lantern: Accelerators for Spark and Deep Learning
Tiark Rompf, Assistant Professor at Purdue University
June 13, 2019 · 10:18 a.m.
380 views
Metaprogramming in Dotty
Nicolas Stucki, Ph.D. student at LAMP
June 13, 2019 · 11:15 a.m.
1250 views
Fast, Simple Concurrency with Scala Native
Richard Whaling, data engineer based in Chicago
June 13, 2019 · 11:16 a.m.
624 views
Pick your number type with Spire
Denis Rosset, postdoctoral researcher at Perimeter Institute
June 13, 2019 · 11:17 a.m.
245 views
Scala.js and WebAssembly, a tale of the dangers of the sea
Sébastien Doeraene, Executive director of the Scala Center
June 13, 2019 · 11:18 a.m.
661 views
Performance tuning Twitter services with Graal and ML
Chris Thalinger, Twitter
June 13, 2019 · 12:15 p.m.
2003 views
Supporting the Scala Ecosystem: Stories from the Line
Justin Pihony, Lightbend
June 13, 2019 · 12:16 p.m.
163 views
Compiling to preserve our privacy
Manohar Jonnalagedda and Jakob Odersky, Inpher
June 13, 2019 · 12:17 p.m.
301 views
Building Scala with Bazel
Natan Silnitsky, wix.com
June 13, 2019 · 12:18 p.m.
565 views
244 views
Asynchronous streams in direct style with and without macros
Philipp Haller, KTH Royal Institute of Technology in Stockholm
June 13, 2019 · 3:45 p.m.
304 views
Interactive Computing with Jupyter and Almond
Sören Brunk, USU Software AG
June 13, 2019 · 3:46 p.m.
681 views
Scala best practices I wish someone'd told me about
Nicolas Rinaudo, CTO of Besedo
June 13, 2019 · 3:47 p.m.
2702 views
High performance Privacy By Design using Matryoshka & Spark
Wiem Zine El Abidine and Olivier Girardot, Scala Backend Developer at MOIA / co-founder of Lateral Thoughts
June 13, 2019 · 3:48 p.m.
753 views
Immutable Sequential Maps – Keeping order while hashed
Odd Möller
June 13, 2019 · 4:45 p.m.
276 views
All the fancy things flexible dependency management can do
Alexandre Archambault, engineer at the Scala Center
June 13, 2019 · 4:46 p.m.
389 views
ScalaWebTest - integration testing made easy
Dani Rey, Unic AG
June 13, 2019 · 4:47 p.m.
468 views
Mellite: An Integrated Development Environment for Sound
Hanns Holger Rutz, Institute of Electronic Music and Acoustics (IEM), Graz
June 13, 2019 · 4:48 p.m.
213 views
Closing panel
Panel
June 13, 2019 · 5:54 p.m.
400 views