What size is the applet and what size are your images? Regardless of how compressed those images are they're going to be converted into Processing's image type when they go into memory - which is a little different to the file on your hardrive (4 bytes * width * height, if I remember correctly).
I just put this together and it runs pretty fast, even with a forced delay.
Code:
PImage pimage;
int i = 0;
int timer = 0;
void setup(){
size(1024, 768);
}
void draw(){
if(millis() - timer > 100){
timer = millis();
pimage = loadImage(i+".jpg");
image(pimage, 0, 0);
i = (i + 1) % 2;
}
}
If you want speed I would suggest curbing your pixels. More pixels = more time. Using
copy() as a method of a PImage (pimage1.copy(pimage2, blah, blah, etc.)) could cut down the amount of space your images are taking up in memory when you load them in. Just load them into a tempory PImage then copy() into your storage space.
It sounds like what you're doing is pretty straight forward to do. If you're still having trouble, post the code of what you're doing and we'll see what needs fixing.