Knowing your workload type using dmv's?
This is the one I would use, courtesy of Kimberly Tripp:

SELECT objtype AS [CacheType]
, count_big(*) AS [Total Plans]
, sum(cast(size_in_bytes as decimal(18,2)))/1024/1024 AS [Total MBs]
, avg(usecounts) AS [Avg Use Count]
, sum(cast((CASE WHEN usecounts = 1 THEN size_in_bytes ELSE 0 END) as decimal(18,2)))/1024/1024 AS [Total MBs - USE Count 1]
, sum(CASE WHEN usecounts = 1 THEN 1 ELSE 0 END) AS [Total Plans - USE Count 1]
FROM sys.dm_exec_cached_plans
GROUP BY objtype
ORDER BY [Total MBs - USE Count 1] DESC


It splits out the plan size and total number of plans by Type e.g. Adhoc, Prepared, Procedure, Trigger, View etc.

EDIT:

If you want to then find out the actual pressure each type is placing on the server, you can join the sys.dm_exec_cached_plans to sys.dm_exec_query_stats through the plan_handle and order by total_worker_time (for CPU) or total_elapsed_time (for Duration).