What is the smallest and/or fastest way to run Windows programs on MacOS (Catalina)? I'm using a 2017 i5 Macbook Pro with just 128GB of storage and need to run Revit, which is Windows only. I know there are many different methods for running Windows programs on Mac, but with very limited storage and the processing used by Revit, I'm trying to determine the smallest Windows environment with the least overhead. My preference would be for something that can run without a reboot or logoff (though I'm aware this will sacrifice some performance). 

What is the smallest and/or fastest way to run Windows programs on MacOS?
In order of “size” your options are as follows:

Wine.  (It’s unclear this will be updated to run well on Catalina but Wine does well on Mojave and below)
Virtualizaton (VirtualBox, VMWare Fusion, Parallels)
Boot Camp which helps you run windows on the Mac hardware directly without macOS running at the same time.

Wine is a “compatability layer” that allows you to run Windows apps on a POSIX compliant operating system (macOS, BSD, Linux, etc).  The Wine acronym actually stood for “Wine Is Not an Emulator”.  In terms of size, there’s nothing smaller since you’re not installing a full Windows install - there’s no Windows environment - just the application.
Virtualization.  This is the next level up where you have a full blown operating system.  Virtualization allows you to customize the machine itself and make it as small as possible (i.e. the minimum system requirements).  Some applications don’t function well in Wine so this is the next best thing.  Most type 2 hypervisors are going to be roughly the same in “size” however, I am looking into xhyve which is a very lightweight hypervisor based on FreeBSD’s bhyve hypervisor.
Boot Camp is going to be the largest in terms of size because it’s quite literally a full Widows installation on “bare metal”. It also forces you to give up an entire chunk of your drive to windows where virtualization can share free space with macOS.