GithubHelp home page GithubHelp logo

Comments (5)

cscott avatar cscott commented on August 30, 2024

What exactly do you want here? Do you want global variables set in
JavaScript to persist between requests? If so, that's impossible, as PHP is
just not set up that way. But if you just want to more efficiently reload
scripts, there are ways to make that persistent.
On Oct 31, 2013 9:25 AM, "esv" [email protected] wrote:

Hi!

Is it possible to persist V8 instance between requests in web server? I
found old issue on this topic #4https://github.com/preillyme/v8js/issues/4and seems it was impossible back than. Do you have plans to implement it? I
think it would be useful feature, like persistent connections in mysql
extensions.


Reply to this email directly or view it on GitHubhttps://github.com//issues/78
.

from v8js.

esv avatar esv commented on August 30, 2024

Exactly: creating V8 instance (code "new V8Js();") on my machine takes 20ms, I want it to take <1ms.

But if you just want to more efficiently reload scripts, there are ways to make that persistent.

This can be done via V8Js::registerExtension?

from v8js.

saveriocastellano avatar saveriocastellano commented on August 30, 2024

what we want is that the v8 context is persistent accross different php requests, this doesn't refer to specific global variables in javascript but to the whole javascript context.
Currently the js context is bound to the PHP instance of the the running script, when the script completes the js context is released.

For this v8js extension to be fully usable in real scenarios it is necessary to have a way of making the context persistent so that it can be re-used accross multiple requests

from v8js.

cscott avatar cscott commented on August 30, 2024

You would need to be running Apache in "Pre-fork" or "Worker MPM" mode (or IIS in ISAPI mode) and be using the multiprocess or multithreaded SAPI for PHP. You wouldn't be guaranteed that the context would be reused, but a small number of contexts would typically be used for a largish number of requests. Again, you couldn't share global variables, because contexts aren't guaranteed to be reused. V8 supports this; we just need to hook up some bits in v8js differently.

from v8js.

stesie avatar stesie commented on August 30, 2024

PHP has a "shared nothing" architecture ... and I don't think V8Js should "solve" this by decoupling PHP lifetime from V8 lifetime, contextwise. This would require to invalidate PHP objects exported to Javascript as soon as the PHP request ends (since they're forcibly destroyed by PHP engine then; and we can't and shouldn't change that), ... and that'd get really messy then.

Closing this now since there's been no discussion for a long time now.

from v8js.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.