Hi
I agree....and add some informations:
1) it is very simple to SET and CLEAR a port pin at dedicated locations in code. With a scope you can see if, how often and how much time this code takes.
2) read through the microcontroller's periferals documentation (maybe they have something like DMA), use interrupts, use a real time OS. And if you think you are low in processing power...don't waste much time and use a microcontroller with more power.
3) 1Msampl/s...
* continously: I don't think it makes sense with a 8 bit microcontroller, because the limited processing power and the bottleneck in the data interfaces.
* for bursts, like taking 256 samples and then process the sampled data:....yes, if the ADC is fast enough...
Maybe start with a more powerful microcontroller and later - when you gained experience with the needed processing power - you may use smaller microcontrollers.
It really depends. I do a lot of measurement stuff on 8 bit AVR like: continously sampling data with 20kSmpl/s, digital filtering, DFT, squaring, averaging, square_root and sending the data via SPI or USB, all in real time.....but I can't recommend the same for a beginner in this field of data processing. Too many pitfalls.
Klaus