Without worrying too much about precision both design with op amp and 555 should work fine at these frequencies.
That's a bit of a blanket statement. It's also untrue: an op-amp is no good for squarewaves, above the audio range.
Yes, a 555 timer will be fine for a 100kHz squarewave, but many common op-amps will struggle with that higher frequency. The issue is the slew rate needs to be high enough to get decent rise/fall times. A 100kHz signal has a period of 10µs. To get a decent squarewave, the rise and fall times need to be under
1/
50 of that figure, which is 0.2µs or 200ns.
What amplitude squarewave do you want? Let's say 5V maximum, to be compatible with TTL digital logic.
Calculate the slew rate, i.e. the
dv/
dtdv/
dt = V/t = 5/200*10
-9 = 25*10
6V/s or 25V/µs
Most jellybean op-amps will not do here. The old 741 has a slew rate of only 0.5V/µs and even the much faster TL072 isn't up to it either at 13V/µs.
http://www.ti.com/lit/ds/symlink/lm741.pdfhttp://www.ti.com/lit/ds/slos080n/slos080n.pdfThere are much faster op-amps available but they're more expensive.
A comparator will do a much better job, but some attention still needs to be paid to the speed. The LM393 has a rise and fall time of 300ns from 0V to 5V, which is still a bit on the slow side, but much better than any chap op-amp. The LM311 is much better still with rise and fall times of well below 100ns, from 0V to 5V.
http://www.ti.com/lit/ds/symlink/lm2903-n.pdfhttp://www.ti.com/lit/ds/symlink/lm311.pdf