www.digitalmars.com         C & C++   DMDScript  

c++.chat - dmc performance

reply rado <rpaskalev cofief.bg> writes:
Hi all,

I just managed to compile the ogg vorbis encoder (www.xiph.org/ogg/vorbis) with
dmc v830.
This itself is a big step because the previous versions failed to do it. They
crashed with internal errors cgcod 2347 and cg87 
268.
The porting to dmc was very easy. I had to add only two defines and to fix two
mistyped function declarations and everithing 
was just fine. 
Because i know that encoding a wave file to ogg format is a very computational
process, and because i was curious about how dmc 
compares to vc in code optimizations and executable size, i compiled the
encoder with vc6 too and run both encoders several 
times against one wave file.

Here are the results:
both executables are static builds, 
the dmc switches are: -6 -ff -a8 -Nc -o -Aw -Ab -Jm -DNDEBUG
haven't touched the vc options

Size of compiled oggenc.exe file:
vc compiled- 1073152 bytes
dmc compiled- 1088028 bytes

average encoding time for first wav:
vc compiled-2m 00s
dmc compiled-2m 09s

Just in case i encoded another wave file:
vc compiled-2m 40s
dmc compiled-2m 51s

This are average times but the bigest deviation was 2 sec for both encoders.


Best regards
rado
Oct 25 2002
parent reply "Walter" <walter digitalmars.com> writes:
Thanks for doing this. The differences seem inconsequential to me. It would
be cool if you could fold the DMC support back into the main source tree for
vorbis!

-Walter

"rado" <rpaskalev cofief.bg> wrote in message
news:1103_1035573239 news.digitalmars.com...
 Hi all,

 I just managed to compile the ogg vorbis encoder (www.xiph.org/ogg/vorbis)
with dmc v830.
 This itself is a big step because the previous versions failed to do it.
They crashed with internal errors cgcod 2347 and cg87
 268.
 The porting to dmc was very easy. I had to add only two defines and to fix
two mistyped function declarations and everithing
 was just fine.
 Because i know that encoding a wave file to ogg format is a very
computational process, and because i was curious about how dmc
 compares to vc in code optimizations and executable size, i compiled the
encoder with vc6 too and run both encoders several
 times against one wave file.

 Here are the results:
 both executables are static builds,
 the dmc switches are: -6 -ff -a8 -Nc -o -Aw -Ab -Jm -DNDEBUG
 haven't touched the vc options

 Size of compiled oggenc.exe file:
 vc compiled- 1073152 bytes
 dmc compiled- 1088028 bytes

 average encoding time for first wav:
 vc compiled-2m 00s
 dmc compiled-2m 09s

 Just in case i encoded another wave file:
 vc compiled-2m 40s
 dmc compiled-2m 51s

 This are average times but the bigest deviation was 2 sec for both
encoders.
 Best regards
 rado
Oct 25 2002
next sibling parent reply rado <rpaskalev cofief.bg> writes:
Hi,

I will send them the patches and the makefiles and i hope they will accept
them. 
It will be good to have support for dmc in a big and popular project like this.

Just one thing. Are this the optimal switches for compilation or there is a
better combination.

best regards
rado


Fri, 25 Oct 2002 12:27:38 -0700, "Walter" <walter digitalmars.com> ?8H5:
 Thanks for doing this. The differences seem inconsequential to me. It would
 be cool if you could fold the DMC support back into the main source tree for
 vorbis!
 
 -Walter
 
 "rado" <rpaskalev cofief.bg> wrote in message
 news:1103_1035573239 news.digitalmars.com...
 Hi all,

 I just managed to compile the ogg vorbis encoder (www.xiph.org/ogg/vorbis)
with dmc v830.
 This itself is a big step because the previous versions failed to do it.
They crashed with internal errors cgcod 2347 and cg87
 268.
 The porting to dmc was very easy. I had to add only two defines and to fix
two mistyped function declarations and everithing
 was just fine.
 Because i know that encoding a wave file to ogg format is a very
computational process, and because i was curious about how dmc
 compares to vc in code optimizations and executable size, i compiled the
encoder with vc6 too and run both encoders several
 times against one wave file.

 Here are the results:
 both executables are static builds,
 the dmc switches are: -6 -ff -a8 -Nc -o -Aw -Ab -Jm -DNDEBUG
 haven't touched the vc options

 Size of compiled oggenc.exe file:
 vc compiled- 1073152 bytes
 dmc compiled- 1088028 bytes

 average encoding time for first wav:
 vc compiled-2m 00s
 dmc compiled-2m 09s

 Just in case i encoded another wave file:
 vc compiled-2m 40s
 dmc compiled-2m 51s

 This are average times but the bigest deviation was 2 sec for both
encoders.
 Best regards
 rado
Oct 26 2002
parent "Walter" <walter digitalmars.com> writes:
I'd modify the switches as follows:

-6    Omit, since I adjust the default anyway to be the most recent
processor.
-a8    Omit, this is the default for win32. The default anyway is almost
always what is desirable.


"rado" <rpaskalev cofief.bg> wrote in message
news:1103_1035633940 news.digitalmars.com...
 Hi,

 I will send them the patches and the makefiles and i hope they will accept
them.
 It will be good to have support for dmc in a big and popular project like
this.
 Just one thing. Are this the optimal switches for compilation or there is
a better combination.
 best regards
 rado


 Fri, 25 Oct 2002 12:27:38 -0700, "Walter" <walter digitalmars.com> ?8H5:
 Thanks for doing this. The differences seem inconsequential to me. It
would
 be cool if you could fold the DMC support back into the main source tree
for
 vorbis!

 -Walter

 "rado" <rpaskalev cofief.bg> wrote in message
 news:1103_1035573239 news.digitalmars.com...
 Hi all,

 I just managed to compile the ogg vorbis encoder
(www.xiph.org/ogg/vorbis)
 with dmc v830.
 This itself is a big step because the previous versions failed to do
it.
 They crashed with internal errors cgcod 2347 and cg87
 268.
 The porting to dmc was very easy. I had to add only two defines and to
fix
 two mistyped function declarations and everithing
 was just fine.
 Because i know that encoding a wave file to ogg format is a very
computational process, and because i was curious about how dmc
 compares to vc in code optimizations and executable size, i compiled
the
 encoder with vc6 too and run both encoders several
 times against one wave file.

 Here are the results:
 both executables are static builds,
 the dmc switches are: -6 -ff -a8 -Nc -o -Aw -Ab -Jm -DNDEBUG
 haven't touched the vc options

 Size of compiled oggenc.exe file:
 vc compiled- 1073152 bytes
 dmc compiled- 1088028 bytes

 average encoding time for first wav:
 vc compiled-2m 00s
 dmc compiled-2m 09s

 Just in case i encoded another wave file:
 vc compiled-2m 40s
 dmc compiled-2m 51s

 This are average times but the bigest deviation was 2 sec for both
encoders.
 Best regards
 rado
Oct 26 2002
prev sibling parent reply "Javier Gutiérrez" <nikkho NOSPAM hotmail.com> writes:
    Default switches for VC 6 is not the same enviroment as for DMC, since
VC does not perform a lot of optimizations without the -O2 flag.

"Walter" <walter digitalmars.com> escribió en el mensaje
news:apc64i$hla$1 digitaldaemon.com...
 Thanks for doing this. The differences seem inconsequential to me. It
would
 be cool if you could fold the DMC support back into the main source tree
for
 vorbis!

 -Walter

 "rado" <rpaskalev cofief.bg> wrote in message
 news:1103_1035573239 news.digitalmars.com...
 Hi all,

 I just managed to compile the ogg vorbis encoder
(www.xiph.org/ogg/vorbis)
 with dmc v830.
 This itself is a big step because the previous versions failed to do it.
They crashed with internal errors cgcod 2347 and cg87
 268.
 The porting to dmc was very easy. I had to add only two defines and to
fix
 two mistyped function declarations and everithing
 was just fine.
 Because i know that encoding a wave file to ogg format is a very
computational process, and because i was curious about how dmc
 compares to vc in code optimizations and executable size, i compiled the
encoder with vc6 too and run both encoders several
 times against one wave file.

 Here are the results:
 both executables are static builds,
 the dmc switches are: -6 -ff -a8 -Nc -o -Aw -Ab -Jm -DNDEBUG
 haven't touched the vc options

 Size of compiled oggenc.exe file:
 vc compiled- 1073152 bytes
 dmc compiled- 1088028 bytes

 average encoding time for first wav:
 vc compiled-2m 00s
 dmc compiled-2m 09s

 Just in case i encoded another wave file:
 vc compiled-2m 40s
 dmc compiled-2m 51s

 This are average times but the bigest deviation was 2 sec for both
encoders.
 Best regards
 rado
Oct 29 2002
parent reply Radoslav Paskalev <rpaskalev crx.tm.fr> writes:
For building vc executable i used the visual studio project files that come
with vorbis packages and they all had "Optimize for speed" option selected,
which includes the -O2 flag.

0 Tue, 29 Oct 2002 13:57:37 +0100, "Javier Gutiérrez"
<nikkho NOSPAM hotmail.com> ?8H5:
     Default switches for VC 6 is not the same enviroment as for DMC, since
 VC does not perform a lot of optimizations without the -O2 flag.
 
 "Walter" <walter digitalmars.com> escribió en el mensaje
 news:apc64i$hla$1 digitaldaemon.com...
 Thanks for doing this. The differences seem inconsequential to me. It
would
 be cool if you could fold the DMC support back into the main source tree
for
 vorbis!

 -Walter

 "rado" <rpaskalev cofief.bg> wrote in message
 news:1103_1035573239 news.digitalmars.com...
 Hi all,

 I just managed to compile the ogg vorbis encoder
(www.xiph.org/ogg/vorbis)
 with dmc v830.
 This itself is a big step because the previous versions failed to do it.
They crashed with internal errors cgcod 2347 and cg87
 268.
 The porting to dmc was very easy. I had to add only two defines and to
fix
 two mistyped function declarations and everithing
 was just fine.
 Because i know that encoding a wave file to ogg format is a very
computational process, and because i was curious about how dmc
 compares to vc in code optimizations and executable size, i compiled the
encoder with vc6 too and run both encoders several
 times against one wave file.

 Here are the results:
 both executables are static builds,
 the dmc switches are: -6 -ff -a8 -Nc -o -Aw -Ab -Jm -DNDEBUG
 haven't touched the vc options

 Size of compiled oggenc.exe file:
 vc compiled- 1073152 bytes
 dmc compiled- 1088028 bytes

 average encoding time for first wav:
 vc compiled-2m 00s
 dmc compiled-2m 09s

 Just in case i encoded another wave file:
 vc compiled-2m 40s
 dmc compiled-2m 51s

 This are average times but the bigest deviation was 2 sec for both
encoders.
 Best regards
 rado
Radoslav PASKALEV --------------------------------------- e-mail : rpaskalev codix-france.com WEB : http://www.codix-france.com
Oct 30 2002
parent "Javier Gutiérrez" <nikkho NOSPAM hotmail.com> writes:
    In that case, is a good result of DMC to be at the level of VC!

"Radoslav Paskalev" <rpaskalev crx.tm.fr> escribió en el mensaje
news:1103_1035969382 news.digitalmars.com...
 For building vc executable i used the visual studio project files that
come with vorbis packages and they all had "Optimize for speed" option selected, which includes the -O2 flag.
 0 Tue, 29 Oct 2002 13:57:37 +0100, "Javier Gutiérrez"
<nikkho NOSPAM hotmail.com> ?8H5:
     Default switches for VC 6 is not the same enviroment as for DMC,
since
 VC does not perform a lot of optimizations without the -O2 flag.

 "Walter" <walter digitalmars.com> escribió en el mensaje
 news:apc64i$hla$1 digitaldaemon.com...
 Thanks for doing this. The differences seem inconsequential to me. It
would
 be cool if you could fold the DMC support back into the main source
tree
 for
 vorbis!

 -Walter

 "rado" <rpaskalev cofief.bg> wrote in message
 news:1103_1035573239 news.digitalmars.com...
 Hi all,

 I just managed to compile the ogg vorbis encoder
(www.xiph.org/ogg/vorbis)
 with dmc v830.
 This itself is a big step because the previous versions failed to do
it.
 They crashed with internal errors cgcod 2347 and cg87
 268.
 The porting to dmc was very easy. I had to add only two defines and
to
 fix
 two mistyped function declarations and everithing
 was just fine.
 Because i know that encoding a wave file to ogg format is a very
computational process, and because i was curious about how dmc
 compares to vc in code optimizations and executable size, i compiled
the
 encoder with vc6 too and run both encoders several
 times against one wave file.

 Here are the results:
 both executables are static builds,
 the dmc switches are: -6 -ff -a8 -Nc -o -Aw -Ab -Jm -DNDEBUG
 haven't touched the vc options

 Size of compiled oggenc.exe file:
 vc compiled- 1073152 bytes
 dmc compiled- 1088028 bytes

 average encoding time for first wav:
 vc compiled-2m 00s
 dmc compiled-2m 09s

 Just in case i encoded another wave file:
 vc compiled-2m 40s
 dmc compiled-2m 51s

 This are average times but the bigest deviation was 2 sec for both
encoders.
 Best regards
 rado
Radoslav PASKALEV --------------------------------------- e-mail : rpaskalev codix-france.com WEB : http://www.codix-france.com
Oct 30 2002