yum-archive/TaSTT-Whisper

High-performance GPGPU inference of OpenAI's Whisper automatic speech recognition (ASR) model

git clone https://git.yummers.dev/yum-archive/TaSTT-Whisper

KonstantinExperimental, alternative busy wait implementationcacec67

master
530 B24 linesraw
1#pragma once
2#include <atlbase.h>
3
4// Utility class implementing a high-resolution Sleep() function
5class DelayExecution
6{
7	using pfnDelay = void( * )( const DelayExecution& de );
8	pfnDelay pfn = nullptr;
9	CHandle timer;
10
11	static void sleepOnTheTimer( const DelayExecution& delay );
12	static void spinWait( const DelayExecution& );
13	static void sleep( const DelayExecution& );
14
15public:
16	DelayExecution();
17	DelayExecution( const DelayExecution& ) = delete;
18	~DelayExecution() = default;
19
20	void delay() const
21	{
22		pfn( *this );
23	}
24};