Dennis,

You didn’t answer question #1.

>Dennis said: Before getting too cavalier on requesting a change in the 
>implementation... make sure you understand why the restrictions are in place.

Tony’s response:
yes: I understand the reason for the restriction; and I agree, the speed loss 
for preemptive processes trying to share interprocess variables would be 
terrible.
That’s why I’m suggesting that 4D just give every Preemptive Process it’s own 
set:  that way, there’s NO SPEED LOSS.


  >Dennis said:   1 - Then why have inter process variables... just use process 
variables, to copy them would require semaphores thus cutting down the 
performance... I want workers to be faster not slower for my convenience.

Tony’s response:
In the current implementation, I can’t use an entire method, just because that 
method references one IP variable, or a sub-method, or a plugin.
In my proposed method, I just code around (within my method) the lines of code 
that use IP variables or plugins.

>... I want workers to be faster not slower for my convenience

Tony’s response:
I also want them faster.  Creating an isolated instance of IP variables will 
not cost any speed whatsoever (except for the initial time to instantiate them: 
similar to the time to instantiate process vars).


> Dennis said:       2 - What is the purpose of an interposes variable with 
> access to only one process... isn't that just a process variable?
Tony’s response: Basically, yes: it becomes a process variable.
But then we can choose HOW or whether to use it, and can write a simple 
condition around it; rather than having to create an entirely new code base, 
free of any dependency that contains an IP var.

> Dennis said:           3 - I like the checks at compile time to keep 
> multi-threaded code faster.
Great.  So, in what ways have you leveraged it already?


Regards,
Tony


On 11/1/16, 3:05 PM, "4D_Tech on behalf of Dennis, Neil" 
<4d_tech-boun...@lists.4d.com on behalf of neil.den...@umb.com> wrote:

    Before getting too cavalier on requesting a change in the implementation... 
make sure you understand why the restrictions are in place. In most places the 
implementation would be too slow to offset the benefit (e.g. putting semaphores 
around inter-process variables), in some cases to protect integrity (e.g. most 
plugins are not thread safe), lastly some cases are impossible for any 
application (e.g. UI)
    
    Anyway, to your survey... I would be much, much more likely to use them if 
they were quick and more efficient vs. slower and easier to implement.
    
    Tony's proposed strategy...
    1 - Then why have inter process variables... just use process variables, to 
copy them would require semaphores thus cutting down the performance... I want 
workers to be faster not slower for my convenience.
    2 - What is the purpose of an interposes variable with access to only one 
process... isn't that just a process variable?
    3 - I like the checks at compile time to keep multi-threaded code faster.
    
    In short I do understand the restrictions and agree with them. I hope they 
don't ever sacrifice performance just to make things a bit easier to code. If I 
want easy I can just use a regular process, if I want quick and scalable I will 
put in a little more effort and use a worker.
    
    Neil
    
    
    
    
    
    
    ---
    
    Privacy Disclaimer: This message contains confidential information and is 
intended only for the named addressee. If you are not the named addressee you 
should not disseminate, distribute or copy this email. Please delete this email 
from your system and notify the sender immediately by replying to this email.  
If you are not the intended recipient you are notified that disclosing, 
copying, distributing or taking any action in reliance on the contents of this 
information is strictly prohibited.
    
    The Alternative Investments division of UMB Fund Services provides a full 
range of services to hedge funds, funds of funds and private equity funds.  Any 
tax advice in this communication is not intended to be used, and cannot be 
used, by a client or any other person or entity for the purpose of (a) avoiding 
penalties that may be imposed on any taxpayer or (b) promoting, marketing, or 
recommending to another party any matter addressed herein.
    **********************************************************************
    4D Internet Users Group (4D iNUG)
    FAQ:  http://lists.4d.com/faqnug.html
    Archive:  http://lists.4d.com/archives.html
    Options: http://lists.4d.com/mailman/options/4d_tech
    Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
    **********************************************************************


**********************************************************************
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**********************************************************************

Reply via email to