Seriale 0.23 vs 1.02 vs 1.51

Ho allargato a 128 il buffer descritto da Leo, e poi anche a 256

#if (RAMEND < 1000)
#define SERIAL_BUFFER_SIZE 16
#else
#define SERIAL_BUFFER_SIZE 256 // Originalmente 64
#endif

Il risultato e' ottimo, con 128 sono ritornato alle vecchie prestazioni e con 256 le ho superate.

Domande:
0: Parliamo di 256Byte o bit ?
1: Quale e' la contropartita ? Sono 256Byte/bit fermi, sempre allocati giusto, quindi tolti alla Ram ?, Ci sono altri problemi ?
2: Quell #if (RAMEND < 1000) che significa ? Forse che se la Ram scende sotto i 1000 Byte (oppure bit) il buffer si autoriduce ?
3: Astro io non ho usato nessun delay, la velocita' di lettura e svuotamento buffer e' al massimo, c'e' un solo delay di un millesimo di secondo nel codice proprio della lettura seriale

while (Serial.available()) 
         {
	  delay(1);
	  if (Serial.available() >0) 
                 {
	          char c = Serial.read();

Posso provare a toglierlo o non serve ?
Tu hai altre idee che possano non farmi modificare manulmente il buffer ?