Hi Sree,

Whoa! This behavior is such a gotcha. It seem you are saying 
immediately-firing alarms don't in fact "fire immediately", Right? Naively 
one would think that zero-deadline alarms would be optimized and would be 
queued right-away as there's no apparent reason for using a timer. That's 
just me though.

Is it worth adding such an optimization in gRPC core?

Thx a bunch for answering such a nuanced question promptly.

Regards,
Sumant

On Friday, February 15, 2019 at 10:56:08 AM UTC-8, Sree Kuchibhotla wrote:
>
> Hi Sumant,
> If you create two alarms with zero timeout in quick succession, then they 
> may not "fire" in the same order you created - and hence FIFO isn't 
> guaranteed here. However, if the alarms are created reasonably spaced apart 
> (like for example: tens of millis apart), then yes -they fire in FIFO.
> (Note that an alarm underneath creates a timer which when fired queues the 
> completion event in the completion queue. So we are really at the mercy of 
> the grpc timer component.)..
>
> Hope this helps.
> -Sree
>
>
> On Fri, Feb 15, 2019 at 10:29 AM <[email protected] <javascript:>> wrote:
>
>> Hi Vijay,
>>
>> Just confirming that FIFO ordering of immediately-firing alarms is 
>> guaranteed by the complete_queue. Right?
>>
>> -Sumant 
>>
>> On Friday, February 8, 2019 at 8:10:39 AM UTC-8, [email protected] wrote:
>>>
>>> Hi Vijay,
>>>
>>> 3,000,000 per second rocks!
>>> Thx much everyone!
>>>
>>> Regards,
>>> Sumant
>>>
>>> On Thursday, February 7, 2019 at 8:43:53 AM UTC-8, Vijay Pai wrote:
>>>>
>>>> I just created a pull request to benchmark immediately-firing alarms. 
>>>> The results on my Mac laptop suggest that you can fire at least 
>>>> 3,000,000 immediate alarms per second on a single thread, so I don't think 
>>>> you'll hit a limit from that.
>>>>
>>>> I would strongly advise against directly using 
>>>> grpc_cq_begin_op/grpc_cq_end_op . Those are internal functions and will 
>>>> change name/behavior whenever we choose.
>>>>
>>>> I should have some more information to announce on the callback API 
>>>> within the next few weeks but we continue to prepare it for 
>>>> production-readiness in both unary and streaming cases.
>>>>
>>>> - Vijay
>>>>
>>>> -- 
>> You received this message because you are subscribed to a topic in the 
>> Google Groups "grpc.io" group.
>> To unsubscribe from this topic, visit 
>> https://groups.google.com/d/topic/grpc-io/NyjgbqHxTm8/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to 
>> [email protected] <javascript:>.
>> To post to this group, send email to [email protected] 
>> <javascript:>.
>> Visit this group at https://groups.google.com/group/grpc-io.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/grpc-io/98abb701-1b90-4c2f-87ea-821b83d17564%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/grpc-io/98abb701-1b90-4c2f-87ea-821b83d17564%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/grpc-io.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/921b1360-8f74-484f-af53-6755715d9708%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to