Arduino simulator written in Python (C++ better)

Well the problem with writing in python/perl/etc. is they are interpreted languages (or 'compiled' but the dynamic typing systems limits the amount of optimization you can do), which is often orders of magnitude slower than using a more statically typed language like C, C++, or Java.

There are simulators out there for the AVR chips. Using google, the first link that came up was: http://www.oshonsoft.com/avr.html, and there were various others. What you would likely have to do is to move away from the Arduino IDE, and produce object files that these tools can handle.