TSP Posted May 24, 2011 Posted May 24, 2011 Hi, we would like if there were done some changes in the core files to make it more supportive of tools like for example the PHP optimization tool HipHop: https://github.com/facebook/hiphop-php/wiki/ As it is now it's not possible for us to use this "right out of the box" due to some of the code you use. So we would appreciate it if you could look at the possibillity to rewrite your code in order to support tools like HipHop. Especially the use of eval() is problematic, we haven't really looked too closely into whether you would have to change other functions or not. (And..: http://www.blog.highub.com/php/php-core/php-eval-is-evil/ )
Ryan H. Posted May 24, 2011 Posted May 24, 2011 The entire template logic system uses eval() at its core... that's probably not about to change.
Marcher Technologies Posted May 24, 2011 Posted May 24, 2011 Hi, we would like if there were done some changes in the core files to make it more supportive of tools like for example the PHP optimization tool HipHop: https://github.com/facebook/hiphop-php/wiki/ As it is now it's not possible for us to use this "right out of the box" due to some of the code you use. So we would appreciate it if you could look at the possibillity to rewrite your code in order to support tools like HipHop. Especially the use of eval() is problematic, we haven't really looked too closely into whether you would have to change other functions or not. (And..: http://www.blog.highub.com/php/php-core/php-eval-is-evil/ ) if you read through the comments on that link/ever bothered to learn the proper use of eval() including cleaning user input, you would realize that even though it is a pain to switch the syntax correctly, it is not evil...You are correct in stating hiphop is not usuable right out of the box, however, twouldnt be too difficult to integrate this into ipb... just the hiphop source code needs tweaks to function in ipb right. EDIT... took another look... why would anyone sack eval()? pretty much breaks ipcontent and a lot of other stuff, for what? to switch php to c++ then to binary? seems a waste.
Mat Barrie Posted May 24, 2011 Posted May 24, 2011 So, rewrite the template engine from the ground up to support HipHop. Great idea, they should dumb down templating and make half of all the cool stuff you can do impossible, just so four people can use the technology of the week. Here's what Facebook has to say about what HipHop is for:HipHop is not the right solution for everyone deploying PHP. We think it will be useful to companies running very large PHP infrastructures who do not wish to rewrite complex logic within C or C++. It certainly doesn't say "it will be useful for companies and individuals deploying Commercial off the Shelf software". Most CotS software will be incompatible, and the reason is simple. With so many diverse environments, you sometimes have to go low level to support desired functionality, because the high level stuff isn't guaranteed to be available (just look at the xml parsing in IPB for example). I can't speak for the developers, obviously as just another customer, but I guarantee the answer is "no".
TSP Posted May 24, 2011 Author Posted May 24, 2011 Happy to see the answers here, I'm just sharing some ideas here on behalf of our tech staff. On how they think IPS could make it easier for larger boards to get better overall performance, I'm not an expert - so I'm happy to see your replies. Will ask him if he can post his reasoning behind it here ;) But as far as I know there are other solutions than using eval, or isn't it? What would be disadvantages from switching from eval to another solution?
bfarber Posted May 25, 2011 Posted May 25, 2011 The template system, actually, largely doesn't use eval() (unless you run IN_DEV). Some hook functionality and IP.Content functionality, however, does. This is not likely to change in the immediate future.
mkarpeko Posted June 5, 2012 Posted June 5, 2012 Hello, Any news to remove "eval" from native IPB code?)
stoo2000 Posted June 5, 2012 Posted June 5, 2012 Hello, Any news to remove "eval" from native IPB code?) The template system, actually, largely doesn't use eval() (unless you run IN_DEV). Some hook functionality and IP.Content functionality, however, does. This is not likely to change in the immediate future.
bfarber Posted June 5, 2012 Posted June 5, 2012 Hello, Any news to remove "eval" from native IPB code?) Are you experiencing some problem with eval we're not aware of? eval() is used extremely sparingly in our code base as it is.
Wolfie Posted June 6, 2012 Posted June 6, 2012 Hi, we would like if there were done some changes in the core files to make it more supportive of tools like for example the PHP optimization tool HipHop: https://github.com/facebook/hiphop-php/wiki/ As it is now it's not possible for us to use this "right out of the box" due to some of the code you use. So we would appreciate it if you could look at the possibillity to rewrite your code in order to support tools like HipHop. Especially the use of eval() is problematic, we haven't really looked too closely into whether you would have to change other functions or not. (And..: http://www.blog.highub.com/php/php-core/php-eval-is-evil/ )Have you considered asking the PHP developers to remove the eval() function? That will ensure that all scripts will be compatible since no script would be able to have that command. While you're at it, ask the automotive execs if they'd be willing to live poor for a week. I'm sure that they'd be willing to spend only $1million during that week and then come back like, "Whew that was rough!"But as far as I know there are other solutions than using eval, or isn't it? What would be disadvantages from switching from eval to another solution?What other solution do you have in mind? Do you know of something that will perform the same function as eval() but without using the eval() function?
Time Bandit Posted November 8, 2013 Posted November 8, 2013 As a replacement for eval could you write the code to a file and then load it as an include?
bfarber Posted November 8, 2013 Posted November 8, 2013 Pretty much nothing can run on HipHop out of the box. http://www.hhvm.com/blog/875/wow-hhvm-is-fast-too-bad-it-doesnt-run-my-code The following won't run at all CakePHP Joomla phpMyAdmin Zend Framework 2 Doctrine Magento And pretty much every other major software listed doesn't run either (e.g. 100% of unit tests do not pass). HipHop is really not capable of running most software at this time. That said, they are working on bringing feature parity to the runtime in the future so that most things will run on it, and we'll keep our eyes on it as it matures.
Makoto Posted April 2, 2014 Posted April 2, 2014 Reviving an old topic here, sorry for that, HHVM 3.0.0 was just released a few days ago. Development seems to have progressed a lot. I've been playing with this a bit tonight, but have nothing to report on how well it runs with IP.Board yet. Plan on fiddling with this more tomorrow. But if anyone else is interested and wants to jump in and see what they can do with this, I'd love to see others results. Since knowing me, I may forget and push this off for weeks.
Makoto Posted April 3, 2014 Posted April 3, 2014 Playing around with this a bit, HHVM seem to be up to twice as fast compared to my standard PHP-FPM configuration, on just about any page. Forum index page execution time went from ~0.0155 seconds to ~0.0080 seconds. This is mostly an empty forum though. A lot of people report that HHVM in general can offer dramatic performance improvements, as well as significantly lower CPU and memory overhead. Meaning, there's huge potential for scalability here. I found a few kinks and glitches when playing with it. If anyone else wants to look into it, it may take some work to get working properly. I may look into t some more at a later time. I'm going to work on compiling and tuning PHP 5.5 with Zend Opcache for my actual production server right now, so I won't be messing around with this much more until then. (I'd kind of really just like to see what others can do with this, and see if there's any potential in using this on a production IP.Board site.)
Ortix Posted May 2, 2015 Posted May 2, 2015 @Kirito how did you get ip.board to work on your machine? I get a blank page when trying to install. I'm running hhvm with nginx. Do you have some config examples?
Makoto Posted May 4, 2015 Posted May 4, 2015 This was posted a long time ago. I have not yet tried to install / run IPB 4.0 with HHVM yet.I had planned on testing such a configuration eventually, but I've been tied up with other things recently and haven't had much time to invest in IP.Board related projects.Whenever I do get around to it though, I'll be sure to post my findings here for you.
eruffini Posted June 19, 2015 Posted June 19, 2015 Tried HHVM with 4.0.8.1, getting blank screen still, gave up.
Recommended Posts
Archived
This topic is now archived and is closed to further replies.