Even TyComm overwhelms the machine at times and dumps 'system data' from somewhere instead of USB incoming data - not news.

Boring and dizzying watching and trying to see what the average is as it comes and goes.

Running the following against t_Sermon still results in quick stopping:
Code:
...
count=10041128, lines/sec=0
count=10041129, lines/sec=0
count=1004
Built as Dual Serial with stats to get some meaning from the spew against TyCommander:
Code:
...
 Grp to 50000 sum 254354 
 Grp to 100000 sum 9186332 
 Grp to 150000 sum 1167211 
 Grp to 300000 sum 135041 
 Grp to 350000 sum 1910473 
 Grp to 400000 sum 1309225 
 Grp to 500000 sum 8205257 
 Grp to 550000 sum 4543060 
 Grp to 600000 sum 6676894 
 Grp to 650000 sum 2476576 
 Grp to 700000 sum 3559980 
 Grp to 750000 sum 575597 
	 @count50000000

...
 Grp to 50000 sum 254354 
 Grp to 100000 sum 9186332 
 Grp to 150000 sum 1167211 
 Grp to 300000 sum 135041 
 Grp to 350000 sum 1910473 
 Grp to 400000 sum 1309225 
 Grp to 500000 sum 8872405 
 Grp to 550000 sum 4543060 
 Grp to 600000 sum 39819151 
 Grp to 650000 sum 110148705 
 Grp to 700000 sum 107430006 
 Grp to 750000 sum 41085060 
 Grp to 800000 sum 160157922 
 Grp to 850000 sum 3981055 
	 @count500000000
With IDE SerMon as primary it only runs to here:
Code:
...
count=16228949, lines/sec=651164
count=16228950, lines/sec=651164
count=16228951, lines/sec=651164
with stats up to there:
Code:
 Grp to 50000 sum 504584 
 Grp to 400000 sum 804025 
 Grp to 450000 sum 1329998 
 Grp to 500000 sum 1028316 
 Grp to 550000 sum 392432 
 Grp to 600000 sum 661922 
 Grp to 700000 sum 1278723 
	 @count16000000
Altered code for USB1:
Code:
// post #2626 original Paul sketch
// https://forum.pjrc.com/threads/54711-Teensy-4-0-First-Beta-Test?p=204681&viewfull=1#post204681
// https://forum.pjrc.com/threads/68199-Teensy-4-1-Lockup?p=288825&viewfull=1#post288825


// Simple test of Serial.print() speed.  How many lines/sec can your
// Arduino board print to the serial monitor?

// This combination of printing text and numbers is meant to test the
// most common way Serial printing is used with Arduino.

// On true serial boards, this test measures how much of the bandwidth
// of a high baud rate can really be used.  Efficiency copying bytes
// into the transmit buffer, and the serial transmit interrupt, are
// the main factors.

// On native USB boards, this test measures how well the USB stack can
// utilize the USB bandwidth.  USB is fast but complex protocol.  This
// test tends to measure how well optimized the USB code is.  For
// 12 Mbit/sec (full speed) USB, 36848 is the theoretical maximum
// lines/sec.  For 480 Mbit/sec (high speed) USB, 1521371 is the
// theoretical maximum lines/sec speed.  Unlike ordinary serial, your
// operating system and its drivers, the type of USB port, whether a
// USB hub is used, and CPU load on your computer can affect the speed.

uint32_t count, prior_count;
uint32_t prior_msec;
uint32_t count_per_second;

// Uncomment this for boards where "SerialUSB" needed for native port
//#define Serial SerialUSB

void setup() {
  Serial.begin(1000000); // edit for highest baud your board can use
  while (!Serial) ;
  count = 10000000; // starting with 8 digits gives consistent chars/line
  prior_count = count;
  count_per_second = 0;
  prior_msec = millis();
}

uint32_t groups[40];
void loop() {
  Serial.print("count=");
  Serial.print(count);
  Serial.print(", lines/sec=");
  Serial.println(count_per_second);
  count = count + 1;
  uint32_t msec = millis();
  if (msec - prior_msec > 1000) {
    // when 1 second as elapsed, update the lines/sec count
    prior_msec = prior_msec + 1000;
    count_per_second = count - prior_count;
    prior_count = count;
  }
  groups[ count_per_second / 50000 ]++;
  if ( !(count%1000000) ) {
    for ( int ii=0; ii<40; ii++ ) {
      if ( 0!=groups[ii] ) {
        SerialUSB1.printf( " Grp to %u sum %u \n", (1+ii)*50000, groups[ii] );
      }
    }
    SerialUSB1.print("\t @count");
    SerialUSB1.println(count);
  }
}