Actions and filters are resolved in a linear fashion when processing the request. They do not run asynchronously. If you have some heavy processing that runs during every request (i.e. you use action and filter hooks that run during every page load for every user, like
init or whatever usual hooks you might be using), then it will impact the loading time of the page and probably consume lots of your server's CPU time.
If you do some heavy data processing that doesn't need to run for every page load (that is not calculated for every user and doesn't have to be accessible for users during casual browsing) you might consider using WP Cron or setup a cron job on your server.
Otherwise, you might use AJAX to load the needed data asynchronously, that is display the page without the special processed data first, then send an AJAX request to the server which would fetch the data. This way the initial page load is fast and the user sees some kind of loading animation and knows that your website is working on fetching the data.