hi Michael,

On Apr 26, 2018 10:31 AM, Michael Wallner <m...@php.net> wrote:
Hey Dmitry!

On 17/04/18 09:29, Dmitry Stogov wrote:
> hi Michael,
>
> it's pitty, I didn't found this extension before.
> thanks for pointing, I'll definetly take a look.

Did you have a chance to look at it yet?

Yeah. I took a look through API and implementation, but didn't try to use it in 
action.
I exited by the amount of work you did, and see advantages in your approach,
but in general, I like to provide a bit different thing.

Acttually, my FFI extension inspired by LuaJit implementation (copied by Python 
cffi ABI mode).
I prefer exteremely simple API, simple and compact implementation. I 
especially, selected run-time binding, because plan to integrate FFI with JIT 
(main advantage of LuaJit).

[see below]



> I, also, like the idea of preloading ffi definitions on startup, but I
> would prefer to allow preloading any php files. Especially for FFI, PHP
> wrappers would able to hide dangerous implementation details.
>

I'm not sure the one depends on the other, and how would that be
different to opcache?

With PSI everything related C is encapsulated, you cannot change
anything regarding the access or calling scheme at runtime.

I admit, PSI is far away from being optimized or even finished yet, but
there are a few important key differentiation points:

- the system administrator controls FFI
- parses C headers, no need to duplicate declarations
- function call and data access is pre-defined, not at runtime

Yeah. I see these differences. Reuse of system headers is definitely a big 
advantage.
Pre-loading and absence of run-time definition, is good from security poin of 
view, but makes usage a bit more complex. The thing, I don't like, is a special 
binding language.

Most probably, both FFI and PSI might be better, taking ideas from the other...

Did you use PSI with some complex libraries?

Thanks. Dmitry.


--
Regards,
Mike


Hey Dmitry!

On 17/04/18 09:29, Dmitry Stogov wrote:
> hi Michael,
>
> it's pitty, I didn't found this extension before.
> thanks for pointing, I'll definetly take a look.

Did you have a chance to look at it yet?


> I, also, like the idea of preloading ffi definitions on startup, but I
> would prefer to allow preloading any php files. Especially for FFI, PHP
> wrappers would able to hide dangerous implementation details.
>

I'm not sure the one depends on the other, and how would that be
different to opcache?

With PSI everything related C is encapsulated, you cannot change
anything regarding the access or calling scheme at runtime.

I admit, PSI is far away from being optimized or even finished yet, but
there are a few important key differentiation points:

- the system administrator controls FFI
- parses C headers, no need to duplicate declarations
- function call and data access is pre-defined, not at runtime

--
Regards,
Mike

Reply via email to