Hi Fabien,
Couple of comments. If you are having performance problems "no matter what you play" then your problems are likely soundcard/driver/OS related.
If you are on OSX then you shouldn't need to do anything in particular to setup for low latency audio. If you are on Windows or Linux then you will definitely need to configure your system for decent playback using extempore. Just as a general list sidenote, I am running Windows 10 as my primary daily platform at the moment and getting reasonably good audio performance - but not out of the box. In particular on Win10 you need to pay careful attention to your power settings. This is also true on Linux (cpu throttling etc..).
Also, just be aware that by default Extempore runs with reasonably low buffer sizes (128). You might like to try pushing frames up --frames=1024 (256, 512 etc.)
What platform are you on?
By far the cheapest instrument in Extempore is the sampler - you should be able to play lots of these without to much trouble. fmsynth is also reasonably cheap (although still more expensive than the sampler). The "analogue" synth is EXPENSIVE. Many times more expensive than fmsynth, even with basic settings.
MULTICORE:
Best practice for Extempore is now to assign one expensive, or multiple cheap, instruments to an extempore "dsp thread". Here is an example of how you can run 4 analogue synths on (potentially) their own cores:
(sys:load "libs/external/instruments_ext.xtm")
;; make bass, lead, riff and pad
(make-instrument bass analogue)
(make-instrument lead analogue)
(make-instrument riff analogue)
(make-instrument pad analogue)
(bind-func dsp1:DSP
(lambda (in time chan dat)
(lead in time chan dat)))
(bind-func dsp2:DSP
(lambda (in time chan dat)
(riff in time chan dat)))
(bind-func dsp3:DSP
(lambda (in time chan dat)
(bass in time chan dat)))
(bind-func dsp4:DSP
(lambda (in time chan dat)
(pad in time chan dat)))
(bind-func dsp:DSPMT
(lambda (in time chan dat)
(cond ((< chan 2)
(+ (pref in 0) ;; dsp 1
(pref in 1) ;; dsp 2
(pref in 2) ;; dsp 3
(pref in 3))) ;; dsp 4
(else 0.0))))
(dsp:set! dsp dsp1 dsp2 dsp3 dsp4)
Cheers,
Andrew.