1. speed of text display

Why does it take so long to print a bunch of lines?

when I do:
for i = 1 to 400 by 1 do
     puts (1, "exampleexampleexampleexampleetcetcet")
end for

it takes forever. Not that it is a very important point,or I would ever need a
program to do this. but I just wanted to know why. I know it couldnt be because
the interpreter is slow. It takes probably over a minute just to do that.


I would make a good member of a large crowd :)

new topic     » topic index » view message » categorize

2. Re: speed of text display

JasonDube wrote:
> 
> Why does it take so long to print a bunch of lines?
> 
> when I do:
> for i = 1 to 400 by 1 do
>      puts (1, "exampleexampleexampleexampleetcetcet")
> end for
> 
> it takes forever. Not that it is a very important point,or I would ever need a
> program
> to do this. but I just wanted to know why. I know it couldnt be because the
> interpreter
> is slow. It takes probably over a minute just to do that.
> 
> 
> I would make a good member of a large crowd :)
> 

Hi

Just tried that.

I think you need to change the valves in your computer smile

Chris

http://members.aol.com/chriscrylex/euphoria.htm
http://uboard.proboards32.com/

new topic     » goto parent     » topic index » view message » categorize

3. Re: speed of text display

JasonDube wrote:

----------
> From: JasonDube <guest at RapidEuphoria.com>
> To: EUforum at topica.com
> Subject: speed of text display
> Sent: 7 may 2005 y. 19:26
> 
> 
> posted by: JasonDube <dubetyrant at hotmail.com>
> 
> Why does it take so long to print a bunch of lines?
> 
> when I do:
> for i = 1 to 400 by 1 do
>      puts (1, "exampleexampleexampleexampleetcetcet")
> end for
> 
> it takes forever. Not that it is a very
> important point,or I would ever need a program
> to do this. but I just wanted to know why.
> I know it couldnt be because the interpreter is
> slow. It takes probably over a minute just to
> do that.
> 
> 
> I would make a good member of a large crowd :)

On a P4 1.8GHz puter, it takes just 21.81 sec
for 40000, not for 400, loops.
It is good speed.

Check please your machine for viruses, some of them
can slow down the screen output very much.

Regards,
Igor Kachan
kinz at peterlink.ru

new topic     » goto parent     » topic index » view message » categorize

4. Re: speed of text display

If you use windows 98, console output for windows programs are VERYYYY
slow.

Use ex.exe instead of exw.exe, or use windows xp.



J> posted by: JasonDube <dubetyrant at hotmail.com>

J> Why does it take so long to print a bunch of lines?

J> when I do:
J> for i = 1 to 400 by 1 do
J>      puts (1, "exampleexampleexampleexampleetcetcet")
J> end for

J> it takes forever. Not that it is a very important point,or I
J> would ever need a program to do this. but I just wanted to know
J> why. I know it couldnt be because the interpreter is slow. It takes
J> probably over a minute just to do that.


J> I would make a good member of a large crowd :)

new topic     » goto parent     » topic index » view message » categorize

5. Re: speed of text display

If you are running Windows9x then that is likely your problem. 
Console performance under Windows 9x is slow, but good on Windows NT,2000,XP.
This is a windows issue, not Euphoria.
If you are running an NT based OS I don't know what it might be.

Larry

new topic     » goto parent     » topic index » view message » categorize

6. Re: speed of text display

sorry.
I forgot to add that I was in graphics mode 18.So, this is the code verbatum.

--------------
include graphics.e
object gfx
gfx = graphics_mode(18)

for i = 1 to 400 by 1 do
   puts(1,"01234567890123456789012345678901234567890...etc to 80 characters")
end for
---------------

This is the code in totality. It takes about 87 seconds. I want to know why it
takes so long.

I have a pentium 1.4 gig with Windows 2000

Thanks & sorry for not including this detail ;(

I would make a good member of a large crowd :)

new topic     » goto parent     » topic index » view message » categorize

7. Re: speed of text display

Make sure you have the correct and latest video driver
installed for you video card.

Bernie

My files in archive:
w32engin.ew mixedlib.e eu_engin.e win32eru.ew

Can be downloaded here:
http://www.rapideuphoria.com/cgi-bin/asearch.exu?dos=on&win=on&lnx=on&gen=on&keywords=bernie+ryan

new topic     » goto parent     » topic index » view message » categorize

8. Re: speed of text display

Rob, why didn't aku's name become a link there?

Regards, Alexander Toresson

new topic     » goto parent     » topic index » view message » categorize

9. Re: speed of text display

JasonDube wrote:
> 
> sorry.
> I forgot to add that I was in graphics mode 18.So, this is the code verbatum.
> 
> --------------
> include graphics.e
> object gfx
> gfx = graphics_mode(18)
> 
> for i = 1 to 400 by 1 do
>    puts(1,"01234567890123456789012345678901234567890...etc to 80 characters")
> end for
> ---------------
> 
> This is the code in totality. It takes about 87 seconds. I want to know why it
> takes
> so long.
> 
> I have a pentium 1.4 gig with Windows 2000
> 
> Thanks & sorry for not including this detail ;(
> 

Windows 2000 emulates DOS, and, I have no idea how far it emulates dos...
Printing that text is infact a dos call, which is emulated by windows 2000.
So, it's probably windows' problem. To check, you could find yourself a copy of
qb4.5, set SCREEN 12, and then print out a few lines. If that is equally slow,
it's proved that it has nothing to do with euphoria.

A workaround would be to print the text yourself.

Regards, Alexander Toresson

new topic     » goto parent     » topic index » view message » categorize

10. Re: speed of text display

JasonDube wrote:
> 
> sorry.
> I forgot to add that I was in graphics mode 18.So, this is the code verbatum.
> 
> --------------
> include graphics.e
> object gfx
> gfx = graphics_mode(18)
> 
> for i = 1 to 400 by 1 do
>    puts(1,"01234567890123456789012345678901234567890...etc to 80 characters")
> end for
> ---------------
> 
> This is the code in totality. It takes about 87 seconds. I want to know why it
> takes
> so long.

Heh...
I can display an 80 character line 1.e+1,000,000 times
in less than 1 milisecond on my TurboECNN AGIS 15B
running Euphoria for DOS under a WIN32 EMULATOR!!!

> 
> I have a pentium 1.4 gig with Windows 2000

Heh... Pentium... outdated electronic processor...

> 
> Thanks & sorry for not including this detail ;(
> 
> I would make a good member of a large crowd :)
> 

~~Bl@ckf|r3~~
"Redefining what Artificial 
Intelligence can do"

new topic     » goto parent     » topic index » view message » categorize

11. Re: speed of text display

Well, I have all the latest drivers. I have a graphics oriented card. nvidia
quatro pro with 64 meg of video RAM, but I dont think graphics mode 18 would use
any hardware acceleration anyway.

Obviously its something to do with my particular system if noone else can
confirm it.

Interesting...thank you.

I have a flat screen monitor, maybe that has something to do with it, or maybe
it is windows 2000, I'll test it on the wife's XP.

I could point out to Igor that when NOT in any graphics mode, the text prints
out lightning fast...as expected. So if it is my system, it has something to do
with the way it is reacting to the different graphics modes, such as 16 and 18.

What exactly is happening when a euphoria program goes into a graphics mode?


I would make a good member of a large crowd :)

new topic     » goto parent     » topic index » view message » categorize

12. Re: speed of text display

JasonDube wrote:
> 
> sorry.
> I forgot to add that I was in graphics mode 18.So, this is the code verbatum.
> 
> --------------
> include graphics.e
> object gfx
> gfx = graphics_mode(18)
> 
> for i = 1 to 400 by 1 do
>    puts(1,"01234567890123456789012345678901234567890...etc to 80 characters")
> end for
> ---------------
> 
> This is the code in totality. It takes about 87 seconds. I want to know why it
> takes
> so long.
> 
> I have a pentium 1.4 gig with Windows 2000
> 
> Thanks & sorry for not including this detail ;(
> 
> I would make a good member of a large crowd :)
> 

Windows XP, 1.3 GHz Athlon XP-M, 256MB, 32MB S3 integrated video (this is a
laptop)

with ex.exe
console -- 0.06
fullscreen -- 0.93
mode 18 -- ~43 seconds

with exwc.exe
console -- 1.72
fullscreen 1.06

Windows XP, 1.84 GHz Athlon XP, 512MB, 128MB NVidia GeForce FX 5200 desktop

with ex.exe
console -- 0.06 and then 0 after subsequent runs
fullscreen -- 0.88
mode 18 -- ~57 seconds (that's a surprise...)

with exwc.exe
console -- 0.56
fullscreen -- 0.61 (was 0.9 consistently, then dropped to 0.61)

include graphics.e
include get.e

object gfx, junk, start

gfx = graphics_mode(18) -- comment this out for console/fullscreen tests

start = time()

for i = 1 to 400 by 1 do
puts(1,
    "01234567890123456789012345678901234567890123456789012345678901234567890123456789")
end for

? time() - start

junk = wait_key()

gfx = graphics_mode(-1)
-- end


Shows the uselessness of benchmarking ;^)

But the main thing is that mode 18 is a pixel graphics mode that is not
accelerated by a Windows driver, so the characters are mem-copied to the screen.

I was surprised that my laptop out-performed my desktop, though.

=====================================
Too many freaks, not enough circuses.

j.

new topic     » goto parent     » topic index » view message » categorize

13. Re: speed of text display

http://members.aol.com/chriscrylex/euphoria.htm
http://uboard.proboards32.com/

new topic     » goto parent     » topic index » view message » categorize

14. Re: speed of text display

Hi

Re last post - duh (pressed send now straight away)

Yes, I tried the full code, and it is very slow - using win xp, and nvidia
graphics card.

Looks to me like this is an emulated video mode for win xp, that would
normally be direct access under dos, so its got to go through all the win xp
'safety', 'isolating the hardware from the stoopid user' bits and pieces.

Don't think you'll ever get this mode to work v well under xp.

Chris


http://members.aol.com/chriscrylex/euphoria.htm
http://uboard.proboards32.com/

new topic     » goto parent     » topic index » view message » categorize

15. Re: speed of text display

Chris Burch wrote:
> 
> 
> <a
> href="http://members.aol.com/chriscrylex/euphoria.htm">http://members.aol.com/chriscrylex/euphoria.htm</a>
> <a href="http://uboard.proboards32.com/">http://uboard.proboards32.com/</a>
> 

That is singlehandedly the greatest, most descriptive post of all time.

~~Bl@ckf|r3~~
"Redefining what Artificial 
Intelligence can do"

new topic     » goto parent     » topic index » view message » categorize

16. Re: speed of text display

Alexander Toresson wrote:
> Rob, why didn't aku's name become a link there?

Apparently his e-mails to Topica do not have a display name,
just an e-mail address. 


Regards,
   Rob Craig
   Rapid Deployment Software
   http://www.RapidEuphoria.com

new topic     » goto parent     » topic index » view message » categorize

17. Re: speed of text display

Its nice to know that the same thing is showing up on others sytems, but I
question whether its just because of windows because I can use draw_line and get
a lot faster results. For example if I use:

for i = 1 to 45000
  draw_line (1,{{1,i},{640,i}})
end for

The result is instantaneous. 

So I think it has to do with the way text, specifically, is written to the
screen in the various graphic modes.
   
so, go figure.


I would make a good member of a large crowd :)

new topic     » goto parent     » topic index » view message » categorize

18. Re: speed of text display

Bl@ckf|r3 wrote:
> 
> Chris Burch wrote:
> > 
> > 
> > <a
> > href="http://members.aol.com/chriscrylex/euphoria.htm">http://members.aol.com/chriscrylex/euphoria.htm</a>
> > <a href="http://uboard.proboards32.com/">http://uboard.proboards32.com/</a>
> > 
> 
> That is singlehandedly the greatest, most descriptive post of all time.

Ok... Do you have to follow me to EVERY site I visit?


> 
> ~~Bl@ckf|r3~~
Good...At least you're using your own account and not mine.

> "Redefining what Artificial 
> Intelligence can do"
>

new topic     » goto parent     » topic index » view message » categorize

19. Re: speed of text display

Bl@ckf|r3 wrote:
> 
> JasonDube wrote:
> > 
> > sorry.
> > I forgot to add that I was in graphics mode 18.So, this is the code
> > verbatum.
> > 
> > --------------
> > include graphics.e
> > object gfx
> > gfx = graphics_mode(18)
> > 
> > for i = 1 to 400 by 1 do
> >    puts(1,"01234567890123456789012345678901234567890...etc to 80
> >    characters")
> > end for
> > ---------------
> > 
> > This is the code in totality. It takes about 87 seconds. I want to know why
> > it takes
> > so long.
> 
> Heh...
> I can display an 80 character line 1.e+1,000,000 times
> in less than 1 milisecond on my TurboECNN AGIS 15B
> running Euphoria for DOS under a WIN32 EMULATOR!!!
> 
> > 
> > I have a pentium 1.4 gig with Windows 2000
> 
> Heh... Pentium... outdated electronic processor...

Well, not all of us can afford supercomputers capable
of trillions of operations per second...

> 
> > 
> > Thanks & sorry for not including this detail ;(
> > 
> > I would make a good member of a large crowd :)
> > 
> 
> ~~Bl@ckf|r3~~
> "Redefining what Artificial 
> Intelligence can do"
>

new topic     » goto parent     » topic index » view message » categorize

20. Re: speed of text display

JasonDube wrote:
> 
> Its nice to know that the same thing is showing up on others sytems, but I
> question
> whether its just because of windows because I can use draw_line and get a lot
> faster
> results. For example if I use:
> 
> for i = 1 to 45000
>   draw_line (1,{{1,i},{640,i}})
> end for
> 
> The result is instantaneous. 
> 
> So I think it has to do with the way text, specifically, is written to the
> screen in
> the various graphic modes.
>    
> so, go figure.
> 
> 
> I would make a good member of a large crowd :)
> 

I think that the slowdown is happening because of scrolling the graphics screen.
 Get putsxy from the archive and try it out.

I used this code on my laptop and got times of about 0.55.  No scrolling.

include graphics.e
include get.e
include putsxy.e

object gfx, junk, start
sequence txt, pos

gfx = graphics_mode(18)

txt =
"01234567890123456789012345678901234567890123456789012345678901234567890123456789"
pos = {0, 0}

start = time()

for i = 1 to 400 by 1 do
    putsxy(pos, txt, WHITE, BLACK, 'a')
    pos[2] = remainder(i * 16, 480)
end for

? time() - start

junk = wait_key()

gfx = graphics_mode(-1)
-- end


=====================================
Too many freaks, not enough circuses.

j.

new topic     » goto parent     » topic index » view message » categorize

21. Re: speed of text display

JasonDube wrote:
> From: JasonDube <guest at RapidEuphoria.com>
> To: EUforum at topica.com
> Subject: Re: speed of text display
> Sent: 7 may 2005 y. 21:40
> 
> 
> posted by: JasonDube <dubetyrant at hotmail.com>
> 
> sorry.
> I forgot to add that I was in graphics mode 18.
> So, this is the code verbatum.
> 
> --------------
> include graphics.e
> object gfx
> gfx = graphics_mode(18)
> 
> for i = 1 to 400 by 1 do
>    puts(1,"01234567890123456789012345678901234567890...etc to 80
>  characters")
> end for
> ---------------
> 
> This is the code in totality. It takes about 87 seconds.
> I want to know why it takes so long.
> 
> I have a pentium 1.4 gig with Windows 2000
> 
> Thanks & sorry for not including this detail ;(

On P4 1.8GHz it takes 55 sec. It is normal speed
for Watcom's graphics mode. It is much slower than
text mode and slower than DJGPP graphics.
If you need to speed up mode 18 for the text
output you can use a code from my n_font.zip lib
or from polyglot.zip package:

http://www.RapidEuphoria.com/n_font.zip
http://www.RapidEuphoria.com/polyglot.zip

The FPrint() procedure is x16 faster than
standard puts() and x57 faster than putsxy().
But it is for 18 mode mainly.

Try, maybe it can be useful for you too.
Read comments please, tests are for 386 PC,
You'd correct number of loops for your 1.4 gig
machine. I tried tests now on 1.8 gig with 100
loops instead of 1 that stands in lib.

Regards,
Igor Kachan
kinz at peterlink.ru

new topic     » goto parent     » topic index » view message » categorize

22. Re: speed of text display

@Igor
I changed it to 100, so that would be 70000 iterations, I got the following
results:

FPrint() - 0.93 seconds
puts() - 10.6 seconds
putsxy () - 38.88 seconds

I like that! Thanks. I'll make sure to give credit whenever I can use it.
Awesome.

@Jason
Thanks again. Your right, it has something to do with the scrolling, it only
took a little research after your post to realize why putsxy and subsequent
libraries were written.



-----------
I would make a good member of a large crowd :)

new topic     » goto parent     » topic index » view message » categorize

23. Re: speed of text display

Jason Gade wrote:
> 
> JasonDube wrote:
> > 
> > sorry.
> > I forgot to add that I was in graphics mode 18.So, this is the code
> > verbatum.
> > 
> > --------------
> > include graphics.e
> > object gfx
> > gfx = graphics_mode(18)
> > 
> > for i = 1 to 400 by 1 do
> >    puts(1,"01234567890123456789012345678901234567890...etc to 80
> >    characters")
> > end for
> > ---------------
> > 
> > This is the code in totality. It takes about 87 seconds. I want to know why
> > it takes
> > so long.
> > 
> > I have a pentium 1.4 gig with Windows 2000
> > 
> > Thanks & sorry for not including this detail ;(
> > 
> > I would make a good member of a large crowd :)
> > 
> 
> Windows XP, 1.3 GHz Athlon XP-M, 256MB, 32MB S3 integrated video (this is a
> laptop)
> 
> with ex.exe
> console -- 0.06
> fullscreen -- 0.93
> mode 18 -- ~43 seconds
> 
> with exwc.exe
> console -- 1.72
> fullscreen 1.06
> 
> Windows XP, 1.84 GHz Athlon XP, 512MB, 128MB NVidia GeForce FX 5200 desktop
> 
> with ex.exe
> console -- 0.06 and then 0 after subsequent runs
> fullscreen -- 0.88
> mode 18 -- ~57 seconds (that's a surprise...)
> 
> with exwc.exe
> console -- 0.56
> fullscreen -- 0.61 (was 0.9 consistently, then dropped to 0.61)
> 
> }}}
<eucode>
> include graphics.e
> include get.e
> 
> object gfx, junk, start
> 
> gfx = graphics_mode(18) -- comment this out for console/fullscreen tests
> 
> start = time()
> 
> for i = 1 to 400 by 1 do
>     puts(1,
>     "01234567890123456789012345678901234567890123456789012345678901234567890123456789")
> end for
> 
> ? time() - start
> 
> junk = wait_key()
> 
> gfx = graphics_mode(-1)
> -- end
> </eucode>
{{{

> 
> Shows the uselessness of benchmarking ;^)
> 
> But the main thing is that mode 18 is a pixel graphics mode that is not
> accelerated
> by a Windows driver, so the characters are mem-copied to the screen.
> 
> I was surprised that my laptop out-performed my desktop, though.
> 
> =====================================
> Too many freaks, not enough circuses.
> 
> j.
> 

So you speed freaks can brag, the above program yielded
 6.96 seconds
 Windows2000 
 2.66Mhz box.

Don Cole

new topic     » goto parent     » topic index » view message » categorize

24. Re: speed of text display

don cole wrote:
> 
> Jason Gade wrote:
> > 
> > JasonDube wrote:
> > > 

<snippetty>

> > j.
> > 
> 
> So you speed freaks can brag, the above program yielded
>  6.96 seconds
>  Windows2000 
>  2.66Mhz box.
> 
> Don Cole
> 

Wow - is it hand-cranked?  :)

John

new topic     » goto parent     » topic index » view message » categorize

25. Re: speed of text display

John E wrote:
> 
> don cole wrote:
> > 
> > Jason Gade wrote:
> > > 
> > > JasonDube wrote:
> > > > 
> 
> <snippetty>
> 
> > > j.
> > > 
> > 
> > So you speed freaks can brag, the above program yielded
> >  6.96 seconds
> >  Windows2000 
> >  2.66Mhz box.
> > 
> > Don Cole
> > 
> 
> Wow - is it hand-cranked?  :)
> 
> John
> 

I'm more then certian he means 2.66 GHz.  If it was 2.66 MHz, it'd proabbly
take a half hour to display the text, even in Linux!

Mario Steele
http://enchantedblade.trilake.net
Attaining World Dominiation, one byte at a time...

new topic     » goto parent     » topic index » view message » categorize

26. Re: speed of text display

Mario Steele wrote:
> 
> John E wrote:
> > 
> > don cole wrote:
> > > 
> > > Jason Gade wrote:
> > > > 
> > > > JasonDube wrote:
> > > > > 
> > 
> > <snippetty>
> > 
> > > > j.
> > > > 
> > > 
> > > So you speed freaks can brag, the above program yielded
> > >  6.96 seconds
> > >  Windows2000 
> > >  2.66Mhz box.
> > > 
> > > Don Cole
> > > 
> > 
> > Wow - is it hand-cranked?  :)
> > 
> > John
> > 
> 
> I'm more then certian he means 2.66 GHz.  If it was 2.66 MHz, it'd proabbly
> take a half hour to display the text, even in Linux!

Apperantly noone noticed when I somehow got
a copy of Eu *2.6*.
http://www.listfilter.com/cgi-bin/esearch.exu?fromMonth=6&fromYear=1&toMonth=5&toYear=A&postedBy=CoJaBo&keywords=2.6
In the (un)wise words of Homer Simpson: D'OH!

> 
> Mario Steele
> <a
> href="http://enchantedblade.trilake.net">http://enchantedblade.trilake.net</a>
> Attaining World Dominiation, one byte at a time...
>

new topic     » goto parent     » topic index » view message » categorize

27. Re: speed of text display

Mario Steele wrote:

> 
> I'm more then certian he means 2.66 GHz.  If it was 2.66 MHz, it'd proabbly
> take a half hour to display the text, even in Linux!

OK I meant 266 Mhz.

I'm more than certain he meant 'more than certain'.

Don Cole
SF
>

new topic     » goto parent     » topic index » view message » categorize

28. Re: speed of text display

Hi,

Couldnt help but chuckle a little here smile
One of the first computer cpu boards i ever designed used a
very early model Intel cpu which clocked at 2Mhz, but that
was more than 20 years ago he he.  I think it was the 8080.
Geeze, time really flies...


Take care,
Al

And, good luck with your Euphoria programming!

My bumper sticker: "I brake for LED's"

new topic     » goto parent     » topic index » view message » categorize

29. Re: speed of text display

Al Getz wrote:
> 
> 
> Hi,
> 
> Couldnt help but chuckle a little here smile
> One of the first computer cpu boards i ever designed used a
> very early model Intel cpu which clocked at 2Mhz, but that
> was more than 20 years ago he he.  I think it was the 8080.
> Geeze, time really flies...
> 
> 
> Take care,
> Al


That would be the super-fast 8080A, I should think.  But then, 
the original PC 8088 only clocked at 4.7MHz, with the same 8-bit
data bus width.

1MHz should be enough for anyone ;)  (to misquote someone well known).

John

> And, good luck with your Euphoria programming!
> 
> My bumper sticker: "I brake for LED's"
>

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu