[Ur] Ur/Web & RDP

David Barbour dmbarbour at gmail.com
Sun Feb 26 12:13:17 EST 2012


On Sun, Feb 26, 2012 at 8:17 AM, Adam Chlipala <adamc at impredicative.com>wrote:

>    It's easy to start a server process with an arbitrary number of OS
>>    threads to handle client connections, and they all run in
>>    parallel.  There is also support for periodic tasks, which run in
>>    their own threads, alternating between sleeping N seconds and
>>    running single transactions.
>>
>>
>> That would probably be sufficient for my purposes, if not ideal. But I
>> think it wouldn't take much extra effort to add some way for client code to
>> signal the periodic tasks, to avoid polling, if I did take that route. Via
>> channel, perhaps.
>>
>
> I don't understand what deficiency you're pointing to, but the usual
> combination of RPCs and message-passing might already do more than you're
> thinking.


I need latencies in milliseconds, not `N seconds`, for most of the web apps
I want to build (e.g. teleop of robots). Polling is among the very worst
software engineering tactics for low latency operations that effect
low-frequency changes. There might be some clever way to combine RPCs and
message passing to achieve what I need, but will it meet my timing concerns?


>
> I'd be interested to see an example demonstrating an insurmountable
> client-side performance problem with an Ur/Web app running on a recent
> browser version on a recent generation of machine.  Right now, I'm not
> convinced there's any serious issue.


Yeah. I can understand that position. But the other side is, I'm not
convinced there's a solution; none of your examples is performance
intensive on client side. I've been in both positions, of creator and
potential consumer, so I understand why people would be unwilling to run
ahead with an app knowing there is a fair risk that they *might* encounter
an insurmountable performance problem.

Something like http://jsfiddle.net/jashkenas/CGSd5/, with a tunable number
of elements in a page, might be useful to demonstrate animation of your
reactive system. The latency question could be answered by animating, say,
the motion of a mouse pointer through the server across frames.

Regards,

Dave
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.impredicative.com/pipermail/ur/attachments/20120226/dcf72a0a/attachment.html>


More information about the Ur mailing list