beginning of a monotonic clock implementation. still needs linux and mac -- clock_gettime() and mach_absolute_time()
							parent
							
								
									86be7762b1
								
							
						
					
					
						commit
						4b7a56bdfb
					
				| 
						 | 
					@ -0,0 +1 @@
 | 
				
			||||||
 | 
					Doug Coleman
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,7 @@
 | 
				
			||||||
 | 
					! Copyright (C) 2009 Doug Coleman.
 | 
				
			||||||
 | 
					! See http://factorcode.org/license.txt for BSD license.
 | 
				
			||||||
 | 
					USING: system ;
 | 
				
			||||||
 | 
					IN: monotonic-clock
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					HOOK: monotonic-count os ( -- n )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1 @@
 | 
				
			||||||
 | 
					Doug Coleman
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,4 @@
 | 
				
			||||||
 | 
					! Copyright (C) 2009 Doug Coleman.
 | 
				
			||||||
 | 
					! See http://factorcode.org/license.txt for BSD license.
 | 
				
			||||||
 | 
					USING: ;
 | 
				
			||||||
 | 
					IN: monotonic-clock.unix.linux
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1 @@
 | 
				
			||||||
 | 
					unportable
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1 @@
 | 
				
			||||||
 | 
					Doug Coleman
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,4 @@
 | 
				
			||||||
 | 
					! Copyright (C) 2009 Doug Coleman.
 | 
				
			||||||
 | 
					! See http://factorcode.org/license.txt for BSD license.
 | 
				
			||||||
 | 
					USING: ;
 | 
				
			||||||
 | 
					IN: monotonic-clock.unix.macosx
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1 @@
 | 
				
			||||||
 | 
					unportable
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1 @@
 | 
				
			||||||
 | 
					Doug Coleman
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1 @@
 | 
				
			||||||
 | 
					unportable
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,19 @@
 | 
				
			||||||
 | 
					! Copyright (C) 2009 Doug Coleman.
 | 
				
			||||||
 | 
					! See http://factorcode.org/license.txt for BSD license.
 | 
				
			||||||
 | 
					USING: alien.c-types alien.data fry kernel monotonic-clock
 | 
				
			||||||
 | 
					system windows.errors windows.kernel32 ;
 | 
				
			||||||
 | 
					IN: monotonic-clock.windows
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<PRIVATE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					: execute-performance-query ( word -- n )
 | 
				
			||||||
 | 
					    [ "LARGE_INTEGER*" <c-object> ] dip
 | 
				
			||||||
 | 
					    '[ _ execute win32-error=0/f ] keep *ulonglong ; inline
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PRIVATE>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					M: windows monotonic-count  ( -- n )
 | 
				
			||||||
 | 
					    \ QueryPerformanceCounter execute-performance-query ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					: cpu-frequency ( -- n )
 | 
				
			||||||
 | 
					    \ QueryPerformanceFrequency execute-performance-query ;
 | 
				
			||||||
		Loading…
	
		Reference in New Issue