 Thank you for attending my talk on Drupal in the hip-hop virtual machine. I hope you enjoyed the intro music and it's an honor to be here in Amsterdam presenting to all you fine wonderful people. Who am I? My name is Josh. I've been involved in the Drupal project for 11 years now which makes me feel old but also you know I've got some experience and I've done a few things. I started a couple companies. I used to do a lot of trainings. I put out a virtual machine image back when that was the hip thing to do that integrated a lot of Drupal performance stuff called Project Mercury that some folks liked and I helped found a company called Pantheon that is very interested in making everyone's Drupal websites faster because that's an important part of getting Drupal to run a non-trivial portion of the internet which is one of my goals. Alright so I'm gonna start by going back into time and we're gonna go back to let's say like 2007-2008. This is around the time of the open-source CMS summit. If anybody saw the pre-note where Dries talked a little bit about like they went to this conference at Yahoo's campus in Sunnyvale and that's where he met the Jay Batson and decided to found Aquia. This is a time period I want to talk about. This is a time when the core PHP project was in a state of relative disarray. It was a kind of a dark age for PHP to be quite honest. I think PHP like a lot of open-source projects was a victim of its own success in the sense that you know it sort of came out in the in the very late 90s and as the first language templating system that was expressly built and designed for the web and with the web just exploding as a use case at that time it got very popular very quickly and and then it got deployed very widely very quickly when it was still in a relatively immature state and it gets tricky like you think about all the problems that we have in Drupal with the angst within the community over moving to Symphony Core and the concerns around whether or not this would be too difficult for people to use and the questions around what is the right path to upgrade people you know PHP had this problem very large at that time you know there this was a this is a period of time where people were openly questioning whether PHP 5 was even viable it was a time when there were out here like you know within the core project itself differences opinion that didn't seem to be reconcilable to the point where people would go in late at night and revert other people's commits and then like they fight about it in IRC like just on kind of unhealthy community mojo you have people who left the project there was a lot of turmoil and and and and I think for me it was around that time that I had started a business that was based on Drupal we did a consultancy called chapter 3 in San Francisco and we were worried about that we thought oh my god well what's gonna happen with PHP is it really gonna have legs or is PHP gonna kind of like stagnate and collapse and what will that mean for the the business that we're building what will that mean for Drupal we were worried about it there was like PHP was carrying this lead weight behind it of all the 4.x implementations on all the crappy shared hosts in the world and and there was all this software that was written with within that paradigm that was like frankly not the greatest quality software in the world now it was doing a very important job we had all these bulletin boards you have these like early blog tools and so forth but yeah when when Drupal first emerged and kind of got started to gain popularity in the PHP world you there was a clear difference between the quality of engineering that went into Drupal and its APIs and its architecture and many of the other PHP projects of that era and and these other PHP projects though were displayed deployed very widely used by a lot of people and you know one thing that people really hate is when their host tells them that they have to change their software because of an upgrade that's just like no my software works fine keep it as it is and so the you were as there's this kind of stalemate that was occurring and then within the PHP community itself or within the world of PHP development you had Pair and Peckle which were kind of like the packaging tools that you would use to maybe be able to distribute library code hopefully sort of but probably not as much as you would want and they were they were not amazing tools and it was it was sort of like we didn't have the services around we had all this legacy and there was you know open doubt as to whether this would all work out whether people would just quit and you know Ruby on Rails was the new hotness and that was just gonna take take over everything and and all the things that people still you know I work out in Silicon Valley and a lot of people look down their nose at PHP developers and they're like we'll scoff at PHP and kind of trash talk a little bit and some of that as well deserved because PHP is a little yellow and does some things that are maybe not the best in the world but but it does a lot of things that are also very valuable and I think a lot of that derision is a hangover from this period of time I actually believe as I'm going to demonstrate that PHP has come a long way since then and is actually headed in a very good direction and as PHP developers I assume everybody here your PHP developer otherwise why would you be in my talk we should have some more pride in our work and the language that we work in because it's not that bad we have better organizational tools now I think this was one of the key key changes was with the the the amount of energy and positive action in the general PHP space changed enormously with the advent of composer and the idea that there was a way to now start to very nicely effectively and efficiently build projects that leverage other people's existing code as opposed to before where it was like man you know just like a committed you know just stuff that in there and then deploy that thing and put this tar ball here and maybe run peckles something or other and and hope that works composer is a major step forward in terms of the the ability for the the people building on top of PHP to work as a coherent community together and to share their advances and enable you know us to stand on one of those shoulders which is an important part of building better software it also helped promote the a lot of the the working groups implementation so that there was standardization of how you would load other people's code and so on so forth that that's the psrs but composer makes it fairly easy to get going with a structure that allows you to comply with those things as a big change helped out a lot of people also the internals of PHP started to get working again and I think that some of that was people left got burnout and left the project and some hard decisions were made about deprecating 4.0 and saying no we're not going to continue to support that and if you're a crappy shared host you have to deal with that that's just the way it is we're moving forward we're not going to be stuck where we are now just because of all this legacy and PHP 5 gains momentum and actually PHP 5 up until you know is continuing to improve the internals of PHP are actually getting better with every release language features are improving performance is improving and and I think that the trend line is actually very good for the project in and of itself and I think that Facebook did something pretty interesting when they decided essentially to double down on PHP I don't I clearly wasn't in there I've never I don't yeah I know one guy that works at Facebook and I've talked to some of their their hip-hop virtual machine people which I'll talk about later in the presentation so I don't have any insider knowledge but I imagine there is this kind of like tense meeting at some point where they're like Facebook's really taking off everyone's doing good high five high five cool except we have to run so many servers just to get like keep up with the load here and we're gonna have to build start on data center number three like now unless we can do something about this so they they had a number of moonshot projects and one of them one of them was like they started to like redesign like a whole operating system just to run the server internals more efficiently and effectively and I don't know whether that actually worked out or not they did some other things and somebody had the crazy idea that hey what if we reverse compiled PHP into native C code programmatically and then just deployed this binary on our platform instead of running the running the PHP and I'm sure that people laughed at that idea because it sounds crazy but it actually worked it turned out that they were able to to do that and they were able to almost double their process density on their existing systems which when you're thinking about the expense of breaking ground on a new data center is a major major game changer for your for your company it's also like a great technology in terms of like you know you efficient use of resources and more than just doing that internally they decided that this would be something to try to do an open source to demonstrate that they're you know going to stick with PHP that injected some energy into the community it also created a sense of competition where it's like well hey PHP PHP core communities and you guys got to really start to step up your game here because these other it's not just like you know the Facebook's gonna solve all the problems it's if you want to continue to be relevant you're gonna have to compete with people that are offering solutions that are this far outside the box and deliver this this this good of an improvement so I think the competition that started as a result of that has driven a lot of the positive changes in the PHP world and this is important because PHP is the most popular language on the web by a wide margin the the second most popular depends on who statistics you look at but it's usually ASP net it's a Microsoft's language so everyone who's built basically PHP is the lead is the clear leader in open source web stuff the next leader is people who doing closed-source web stuff the Microsoft folks and peace beyond to them and then behind that are like Ruby and node and all the other things Java etc and so PHP is out there it's big it's what we all use it's what millions of other developers use and it's a very important that it continues to improve and I think that we're actually seeing that I like to say that PHP is undergoing a renaissance right now hashtag PHP renaissance please use that in all your tweets if you feel like it and it's actually a very exciting time to be a PHP developer so have some pride you are part of a renaissance and we are making most of the internet better in the work that we do that's cool so now I'm going to talk about performance that is a sort of preamble we're discussing performance that's why you all are here I presume right you want your websites to run faster and you want to know whether or not some of these technologies can actually help right yeah okay cool so I will caveat a little bit in that I think that performance is actually a multi-faceted challenge and that there are three major buckets I currently think of performance website performance is being in you have the runtime which is what we'll talk about talk about today that's the engine that runs your code but actually delivering a high-performance experience to your users requires an optimized front end which I think is actually one of the is actually the real frontier for performance now like a lot of the stuff that I'm going to demonstrate or show in the runtime it's all happening it's all good and it's important to be up on but the place where new techniques and the ability to really wow people at the other end of websites is happening is on the front end so if you're a performance geek and you're not into front end performance yet and you're not up on all the new techniques there I would suggest you know sort of diving into some of that while you're here and then on the back end of course database performance is still incredibly important and IO can kill your site so when thinking about performance obviously cash rules everything around me as a as pal Henning camp the author of varnish likes to say it's just caches all the way down from your browser to the l2 cache on the processor that's serving the response for your web webpage it's there's like 60 caches in between and probably some more still in there but what the this talk is about is when you can't cash right so caching is a solution when you don't need to dynamically generate a response when you do need to dynamically generate a response well you need to engage your engine front end performance is still make or break so you can't you can't this is not a talk is not you know you can have the fastest engine in the world and if you're serving a like a terribly constructed DOM with a bunch of like slow loading external responses your users will not care that you lovingly handcrafted the engine that is so fast because they will be sitting there waiting for the browser to render the result it you know if your your render takes three or four seconds it doesn't matter that you started it within like 200 milliseconds it still feels slow so you can't ignore the front end and sequel is still like really the king of non-linear performance degradation this is the type of performance degradation that will crash websites so in a lot of cases when you're talking about lack luster performance at an engine level what you see is you know increased utilization and decreased response times as you know it takes longer to deliver responses and then user requests start to queue and it's sort of like a linear degradation of performances you know with ten users it was okay with a hundred users it started to level off with two hundred users it was pretty bad when you have a problem with your sequel and you have like the query of death somewhere lurking in your Drupal site I know none of you have ever had that problem but I've heard stories of people where they had a view that generated a lot of joins and it turned out that when it was run under certain circumstances it was an unpleasant experience that's that's the case where when you have like you go from one user and it's coping to two users and it's slow to three users and like the sites dead and it's over until like the database can recover from trying to generate all those queries so don't ignore your sequel don't ignore your external services either but in in terms of the engine the the actual execution of code that is where we have some real you know potential to make benefits we're taking advantage of the improving internals of PHP and the improved engine so the time it takes to literally execute the code is a non-trivial chunk of the time that users wait to see your site and if you can make that faster your users will get the results faster you'll you'll be happier and I'm happy to report there's a lot of stuff going on that can improve that so there are there are actually many engine upgrades that are currently out there and I feel the need to mention the ones that I'm not gonna talk about in depth so I'm not sliding anyone so PHP ng who's heard of that so cool a PHP ng is a is a very like intensive rewrite of PHP that is going to be I hear from authoritative sources the basis of PHP 7 PHP 7 is actually the next major release of PHP they're gonna skip PHP 6 that's true and it's a hangover well Microsoft is skipping Windows 9 so it's not unprecedented it's also a hangover from the from a lot of the disagreements it was like there I think there was just a bunch of like people who disagreed about direction enough that they just said let's just take this whole idea of PHP 6 and throw it out the window and we'll just talk about PHP 7 and it made it so much easier to talk about things because there's no baggage they just went with it so that's you know moving forward is important there's also the hippie VM great name it's a another re-engineering of PHP that uses a sort of a Python virtual machine the pipi the same same concept is the pipi project it seems very good they claim to have really amazing benchmarks but they have no official releases and we'll have to see if what comes of that they're kind of like looking for contributors so if you're like want to work in in that context you should check out their project and there's also the rec recce project which Sam Boyer in forced me to mention since he worked on something that was used in it and it's an interesting idea it's essentially a compiler for PHP written in PHP that produces a binary object and and is like totally not ready for prime-prime but seems kind of interesting and is being built by this guy who works at Google so there's a lot of stuff going on there's a lot of this is part of the competition in the space that I think is very very important but I'm here to talk about the hip-hop virtual machine again a project that came out of Facebook's hip-hop project hip-hop was originally HP HP HP PHP high-performance PHP and then it turns out that PHP one of the few restrictions that they do place on derivative projects is to not use PHP in the in the name to prevent confusion so HP PHP became hip-hop which is you know you can see how that happens and originally it was this you would do a it was a machine generated compiler compiling process that would analyze your PHP code and reverse engineer it back to the resulting C code and give you a big binary that you could run when this first came out actually David and I looked at it for Drupal and yes you could compile Drupal with it and yes it was faster but the resulting binary was almost one gigabyte in size and took something like 20 to 30 minutes to build so it didn't seem like it was really a viable option for most of us but it was it was the idea was clearly sound like it had some had some benefits and I having talked to some people at Facebook they actually the fact that that worked allowed them to say okay we're gonna double down on PHP because this will solve our we have to build more data centers problem but they had a huge amount of friction with that internally as well because if you think about it as a developer do you really want to sit around and even if you've got a more lightweight app than Drupal it's still a long compile process do you really want to sit through a 20 to 30 minute build before you know whether your stuff worked or not no you don't right you're gonna continue to just develop in PHP and and look at it in a browser and take advantage of the dynamic compilation and then only after you've done a lot of work will you try to compile it and then you'll be frustrated when it doesn't work and you'll have to go back and debugging it becomes this a laborious process and so they embarked on the hip-hop virtual machine project which was attend essentially trying to take the available computer science expertise and algorithmic acumen of just in time compilation and apply it to the notion of doing a compiled PHP runtime and so I won't get into the internals of how all that works but basically they're able to do something that's much more like a Java virtual machine using the same essential concept and so it doesn't take there's no compile step it it starts running and the first build the first request takes a few extra seconds kind of similar to if your APC cash is cold but subsequent requests it actually you know dynamically optimizes depending on what your application is doing which is cool but more importantly as a developer you don't need to go through a compile step to see the results and that was they were able to get all their developers then on board with the notion of using HHVM in the development process and they stopped having all these kind of ops versus dev fights that nobody likes also HHVM includes its own flavor or iteration or different language if you will of PHP called hack which is essentially PHP with strong typing so you can say this is this variable is really only going to be this type of variable and it's not no longer like YOLO variable whatever and that is something that they find internally useful or in trying to promote because it's just you know leads to some better engineering decisions when you can strongly type your stuff and you have fewer unexpected side effects and and so on and so forth and there's some interesting tools internally within HHVM if you're ever interested in transitioning from vanilla PHP to something more like hack they have some some debuggers and profilers and loggers that can help you do that I won't get into that either today because we're here to talk about performance so I wired up some stuff on Pantheon to use HHVM as well as using other the other sort of two other versions of PHP so the and I used Panopoly as my test case so Panopoly is a distribution that has a bunch of panels in it and some views panels known or often thought to cause performance problems I typically don't think it's panels itself it's more that it lets you do something like stick eight views on one page and that can cause problems but but regardless panels is a hefty amount of code and all in all Panopoly has over a hundred modules so this is an example of a big Drupal build which is the sort of place where you would expect to see improvements in the at the engine level to deliver a non non trivial improvement in performance and I did it all on the same instances otherwise so that there's no other like changes in the architecture around the the site for the test and we didn't substitute out a different web server or anything they're they're not running on different hardware there have been a lot of fishy benchmarks that have floated around around HHVM and part of my motivation for doing this this summer was to try to do something that was we really hang our hat on and say is there a there there is this worth really looking into does it actually improve things so the the first set of benchmarks and that the the it's just I tested it you know basic with with curl turn off all caching turn off everything else that drew might do to be fast and just see how quickly it can respond to page requests that was the the basic test so all three versions work so PHP 5 3 PHP 5 5 and HHVM they all work you can boot Drupal and all of them you can run Panoply and all of them without any apparent problems that I could see I've tested a few other websites in there but obviously we'll talk a little bit more at the end about what next steps might mean but the first good news was they all worked that's cool and the results of the the benchmark were you know not it's not a thousand times faster by any stretch but the results were significant and I'm happy to share those findings with you so first is the vanilla what we run currently and what I think a lot of people are running on which is PHP 5 3 tuned with a like a proper APC configuration and like you know trying to make everything else as good as it can be in our instance we run it behind engine X as an FPM worker process you might have it compiled into our running in Apache as mod PHP the difference is they are not going to be significant so this is kind of our baseline result we had you know we were able to get just over 11 requests per second and each request was the 98th percentile response time was just over half a second so that means that 98 percent of the requests came back within half a second some of them came back quicker but you know you kind of want to take that percentile based judgment when you're benchmarking a website because you know if you know half your responses are really fast or the other half are really slow it's probably not that good you need almost all your responses to be pretty speedy you might accept one of them being slow because that could have been some networking or whatever else and the next step was to bump it up to PHP 5 5 which includes some improved internals just one second and and the new opcode cache that replaces APC and it got faster like non-trivial you faster which I was really happy to see you know PHP 5 5 is it's like it's out there right now it's pretty pretty well supported and I think Drupal should run on it with very few problems and so we were able to get 14.3 requests per second so that's like three more requests per second out of the same runtime and critically those requests came back almost a tenth of a second faster that in and of itself is not going to like you know solve your performance problem but I also think it's a real benefit to give to users and if you're concerned with trying to like get down to like the under one second render time in browsers every tenth of a second helps you had a question this is all with no caching testing this with page caching would be pointless the whole idea here is that we want to exercise the entire code path that's required to render pages in relatively thick stack of Drupal modules if you like you could do an alternate benchmark which is like well what does it look like if I have varnish in front of it and it oh man it's so fast but that and that's good like you should run varnish in front of everything and if you're not why not but that's not a solution to a slow website I actually see this a lot of slight digression but I will rant on this for a second people bring or people put together websites that are not performant they're slow they're legitimately like hogs and there's they like queries of death are lurking somewhere in there that will take the website down at a certain circumstances and they think that because you can turn on caching that's okay it's not okay it's not okay because you're basically look you are going to have a moment when your cash gets flushed you are going to have a moment where you you can't cash something you're going to have a moment where an admin decides to click around and load three pages and three tabs whatever it is if your back end is that slow you're basically walking around with a loaded gun pointed at your head waiting for something to go wrong you need to have really you really should have high performance best in class caching because that's how you deliver a really great user experience and it's how you can weather massive surges in traffic from you know internet things going viral or whatever else but if you're relying on that for your site performance you need to go back and make your site really performant because a cash this is like this is how all the old stupid enterprise content management systems did it and it's one of the reasons why other tools emerge so don't just rely on caching so and and end of digression and rant for this site all caching is off except for the opcode cache so all all caching and well it's caches all the way down right so but all caching in front of the website is off so any page no page cash no varnish and the I clocked to this with new relic what was going on between PHP five three and five five to make sure that it was doing what we thought it would be doing so it went back and rerun ran this in response to some some feedback I got in Drupalcon Austin which is the the entirety of the performance gain here is in reducing the PHP execution time it does nothing to the database time and we would not expect it to do anything to the database query time so if you are analyzing the performance of your website and you are seeing that like three to four seconds is going into database queries and you know only a half a second is going into PHP then this would help but it's not where you should be focusing you should be focusing on reducing that database query time either by optimizing your queries or reducing them in number or getting better database infrastructure or all of the above but it's good to see that the results the improvements came from the place where we expected them to come from that's that's what we would expect to see and I think that that validates the findings are there so then the final benchmark is what happened with HHVM and this is the benchmark was run with HHVM 3.1 3.3 up to 3.3 now which is a long term release I'll talk about that a little bit in a second but the results were really good right we got up to almost 21 and a half requests per second and we shaved yet another hundred milliseconds off the response time so and if you you know if you want to do a side-by-side comparison if I was going to make a hypey number I would say well look PHP 5 3 was 509 and this was like almost 250 so it's twice as fast right it's not really twice as fast it's the PHP execution is almost twice as fast and that's not trivial but it's again not gonna like solve your slow hog of a website problem if you have that problem I'm sure none of you have that problem just to graph that out for you as an ocean so that this is what the speed improvements look like again it's actually kind of interesting to me that the improvements here are almost linear between the versions I don't I don't think there's any reason for that but I thought it was interesting according to what other people have told me PHP NG which will be the basis for PHP 7 has similar benefits in terms of improvements in engine performance my concern there is that PHP 7 is on it's unknown when that will be available when it will be released how big of a change it is whereas I believe that HHVM is rapidly approaching a point of maturity where we can take it seriously now and so like this is a speed improvement you can get now and they're committed to continuing to improve things PHP 7 will also be good but again competition is nice but here's an option with I think we can probably start using today so speed this is what you care about as a as a website developer who cares about your users scale is something you probably care about but something as a platform operator that I actually care about a lot more because this means that I don't have to build more data centers in Facebook's case they actually calculate that since implementing HHVM they have saved themselves from actually 5x their application hardware cost so that's that's like actually a very green technology when you think about it because that would mean five more or four more I'm not quite sure I did that calculation four to five more data centers out there consuming electricity being built requiring people to run so this is technology doing what it's supposed to do and and I think you know that that's not for nothing that's a good thing this is what I mean when I talk about the PHP renaissance like we are all moving in a very exciting direction and it's a it's a good to be a part of this this moment but performance remains a full stack challenge right the ultimate answer here is that you have to care about all this stuff if you want your users to have a great experience this is simply one thing that I'm very excited about potentially helping people in terms of shaving time off and being more efficient so it's a full stack challenge I encourage you to dig in and that is the extent of my prepared presentation but I'm happy to take questions and has them do you mind using the mic sir what is the language compatibility so some sites going from five three to five five have some issues you know one two had problems yeah so the story there is yeah this is a good thing to get into so I talked to Sarah a bunch about this the story there is there are certain things where the HHVM team does not care to support stuff that you can do in PHP examples there would be variable variables and some some interesting pass-by reference permutations however from what I can tell none of those things are relied on heavily by Drupal core or by the hundred modules that went into Panopoli that said the there's a lot of contrib out there and there's a lot of custom code and so the the best way that I can think of to kind of test this would be to actually begin to experiment with it with your site and I believe based on the statements made by the the people working at Facebook that they're very interested in finding more edge cases that are meaningful to folks right there's there they're not going to make sure that everything works because that's not their stated goal but they are very interested in broad compatibility like they have a on their I don't know if it's on their github page or on their blog but basically they have a big grid of like the top 20 PHP language frameworks and whether or not all those language frameworks unit tests past language mean a website framework so like Drupal and Symphony and Laravel and all these things and whether or not all of their unit tests test pass and HHVM and they've reached that goal that was that they took that goal very seriously anything that wasn't working in a core unit test they would fix and so I think if well we will certainly find more things that don't work but I believe that if we can demonstrate to those people that the things that aren't working are important they would take a good swag at at fixing them and again from my test of this monopoly I've also like spot tested a few other websites that that I have access to and have yet to find something that's a that's a show stopping issue that seems that's common in Drupal but I imagine if we try to like turn it on for everybody it would not be a great idea yeah how about extensions have they been tested with let's say the memcache extension or Redis or Tidy or yeah so there the the extension story is is interesting so there's inter operability with the most of the Zend API but I know that there are some caveats there like it does work I know I know it works with Redis I'm not sure if it works with Tidy or not because I didn't test that specifically but the XHPROF I'm sure it works with since that's an internal thing that they they use there and I I do know that there the one place where I would say HHVM is is lacking severely is in good documentation around set up and they have you can there's like a nice quick start documentation if you just want to give it a try which I encourage everyone to do it's not that hard but like when you want to get deeper into configuring it to do something in particular you have to kind of bang your head against it a little bit to figure it out I think that that will improve by then but there they're there that's not their focus right now so like for instance if you go to a PHP info call in HHVM it just says hip-hop that's all it tells you and so they're like that we'll get around to fixing them that's not our priority right now right and so so David's point for the for the benefit of the recording was that because it's doing a just-in-time compilation to a native binary the performance difference between using a PHP written library versus a compiled shared object is is I don't know if it's negligible not but it's much much reduced right so it's because it's able to optimize stuff that's written in PHP to be almost as good as the stuff that's written as a native binary I actually think that's a pretty important thing for the future of what we're doing with Drupal as we look to include more and more library code from other from from like the symphony world and other components like that as we want to build these sites with composer one of the concerns is well we ditched a relatively lean Drupal HTTP request call for a relatively fat guzzle library and isn't that going to kill performance and it has an impact on performance but much less so when you're running in this type of engine so I actually haven't been able to maybe now that the beta is out I'll have to rerun all these benchmarks on beta and share them in a blog post or something that probably worth doing other questions yeah what is the interaction with the software with like varnish or other reverse proxy software it's fine it I mean it basically you can run HHVM as its own web server and and it in oh they did so you have to run it as an fcgi process so you're running it behind engine x or something like that anyway it's fast to gi and yeah so and and then you know it's varnish is like just totally decoupled like varnish just speaks HTTP and it expects you to send the headers that telling it how long to cache something and if you send those headers it really doesn't matter what your back end is it could be a bash script so it's fine with HSVM yeah totally fine yeah my question is about how this may impact a drush or any of the command line tools does this affect that or can it be used in a way to speed up say migrations or sort of install scripts and things like that so you can run drush with it that you get the HHVM binary is substitute for the PHP command line binary as well so and drush boots with it I don't think it will have a huge impact on migrations since migrations are mostly IO based operations and it doesn't optimize IO at all so like what takes the longest time in a migration is loading the data from one source and then putting it somewhere else the caveat would be if you're doing like relatively extensive transformations of the data in the middle of that loading process where you know you're loading it from one thing but then you're doing a bunch of manipulation and then saving it out that it could speed up the manipulation part but I wouldn't expect it to necessarily double the speed of a migration just because most of that time is going to be an IO any more for any more oh yes well so I can't guarantee that it'll work with your website the question is how well it will work with Drupal 7 but Panopoli is based on Drupal 7 it's Drupal 7 plus 100 contrib modules and I didn't have any problems with it so I think it's really worth I think that it's going to take more of us trying to use it to figure out what at what real blockers if any there actually are so that we can actually start using this more in production so the one of the my personal goals my selfish goal for this talk is to try to inspire more people to install this on their own systems and give it a shot because I think it could be it could really work for you and we're not going to find out until more people start like doing some a little bit on their own time figuring out creating issues where they need to be created and kind of driving more interest around this I know that the Senso labs guys are very into it they're they're very excited about what this could mean for Symphony I know that New Relic is working on supporting a plug in for this so I like to try to say the Drupal community should start taking this project seriously as a potential option probably not for like a site that's launching right now but soon it could happen yeah question does that mean that you didn't have anything for your Panopoli test no nothing had to make zero changes yeah yeah oh Drupal sites you know I don't that's a good question I don't know I think one of my do you have a response yeah what site is it yeah let's do it live you see how fast that was I'll bet you that was varnish though no it's the most hipster way imagined I love this this is okay what let's let's bypass some cash though oh I'm still very fast I am impressed sir my head is off very cool I kind of I I I like many times I was spoken at conferences before I had lofty goals going into this that I was going to get the new version 3 3 so important note the hip-hop virtual machine version 3 3 is their long-term support release which is a one whole year so that's then for them they're there you know their motto is move fast and break things I like to move fast and make things but but one year is pretty good for long-term support release and so I wanted to benchmark that they thought it would be improved because they're doing more to optimize kind of the the internal stuff that they're kind of like slow php stuff in their in their terms so I wanted to get 3 3 benchmarks out it wasn't that I also wanted to get my personal blog running on it because I thought that's a simple containable enough use case but now I've got this as a reference so it's the pressures off anything else alright well thank you so much for having me and please check this out I hope you're excited as I am and have a great triple con and rate rate my session up so I can do this kind of thing again