[jboss-jira] [JBoss JIRA] (JGRP-1763) TimeService
Bela Ban (JIRA)
issues at jboss.org
Tue Dec 31 05:27:32 EST 2013
Bela Ban created JGRP-1763:
------------------------------
Summary: TimeService
Key: JGRP-1763
URL: https://issues.jboss.org/browse/JGRP-1763
Project: JGroups
Issue Type: Feature Request
Reporter: Bela Ban
Assignee: Bela Ban
Fix For: 3.5
New service which provides wall clock time at a coarse (configurable) granularity.
Motivation: {{System.currentTimeMillis()}} or {{System.nanoTime()}} is sometimes called frequently, e.g. by {{TCPConnectionMap$TCPConnection.updateLastAccessed()}} or in FD/FD_ALL. This has a cost, especially when a lock is held (system calls while a lock is held cause preemption and the thread losing its time slice).
However, the 2 examples above don't need the exact time, but an approximation of it is OK.
GOALS:
* Provide a time service which returns the last cached value of {{System.timeCurrentMillis()}}
* This is a quick and efficient call
* {{TimeService}} registers a timer task which updates its internal cached value every N milliseconds (configurable), e.g. every 500 ms
BENEFIT:
For example, in TCPConnection, the timestamp is updated whenever we send or receive a message from the peer. The timestamp is used to expire and close a connection (if configured), and can be updated 100'000 times a second. If the time service provided the current time in ms every 500ms, then {{System.currentTimeMillis()}} would only be called 2 times during a second instead of 100'000 times !
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list