When I wanted to know how long systemd actually needed to boot the default target, how would I do that ? An then, is it possible to create a graph to show which unit takes how much time to initialize and to what degree they are run in parallel ?
systemd-analyze built-in tool. You are especially interested in two options: blame and plot
systemd-analyze blame systemd-analyze plot > graph.svg
blame: Print list of running units ordered by time to init
plot: Output SVG graphic showing service initialization
To find out how long it takes for the system to boot, systemd provides
systemd-analyze. Without parameters, it will tell you the time to boot.
systemd-analyze critical-chain will print a tree of the chain of services that took the longest, while
systemd-analyze blame will tell you how long each service took independently. Finally,
systemd-analyze plot > boot.svg will create a little graph that shows everything nicely.
If you want fancier graphs, the Arch Linux wiki has a good article on using Bootchart, which as its name implies, creates boot graphs.