home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #19 / NN_1992_19.iso / spool / comp / lang / c / 13210 < prev    next >
Encoding:
Text File  |  1992-09-03  |  2.2 KB  |  78 lines

  1. Newsgroups: comp.lang.c
  2. Path: sparky!uunet!wupost!usc!rpi!ghost.dsi.unimi.it!itnsg1.cineca.it!ditolla
  3. From: ditolla@itnsg1.cineca.it (Francesco Di Tolla)
  4. Subject: Re: C vs. FORTRAN
  5. Message-ID: <1992Sep4.075353.16079@itnsg1.cineca.it>
  6. Organization: Laboratorio di Fisica Computazionale, INFM. Trento Italia
  7. References: <DWISEMAN.92Sep3164036@spsd630a.erim.org>
  8. Date: Fri, 4 Sep 1992 07:53:53 GMT
  9. Lines: 67
  10.  
  11. dwiseman@spsd630a.erim.org (Dave Wiseman) writes:
  12.  
  13.  
  14. >Help!
  15.  
  16. >I have a (two) simple programs, one in fortran, and one in C.  I have compiled
  17. >them both optimized, and timed the results.  The fortran version takes .1 s
  18. >to run, and the C version takes 12.5s to run.  I know (hope) that there is a
  19. >simple remedy for this.  The project that I am working on has to do many 
  20. >sines and cosines, and I'd prefer to keep the entire program in C, and not
  21. >mix the languages.  What can I do to improve the speed of the C version?
  22.  
  23. >    Dave Wiseman
  24. >    dwiseman@erim.org
  25.  
  26. >-------------------------------------------------------------------------------
  27. >#include <stdio.h>
  28. >#include <math.h>
  29.  
  30. >main (argc,argv)
  31. >     int argc;
  32. >     char **argv;
  33. >{
  34. >  double angle,delta,the_sin,the_cos;
  35. >  int i;
  36. >  
  37. >  angle = 0.0;
  38. >  delta = 0.01;
  39. >  
  40. >  for (i=0; i<1000000; i++)
  41. >  {
  42. >    the_sin = sin(angle);
  43. >    the_cos = cos(angle);
  44. >    angle += delta; 
  45. >  }
  46. >}
  47. >-------------------------------------------------------------------------------
  48. >      program test
  49.  
  50. >      real*8 angle,delta,the_sin,the_cos
  51. >      integer*4 i
  52.  
  53. >      angle = 0.0
  54. >      delta = 0.01
  55.  
  56. >      do I=1,1000000
  57. >         the_sin = dsin(angle)
  58. >         the_cos = dcos(angle)
  59. >         angle = angle + delta
  60. >      enddo
  61.  
  62. >      end
  63. >-------------------------------------------------------------------------------
  64. >--
  65. >David Wiseman              dwiseman@erim.org
  66. >Environmental Research Institute of Michigan
  67.  
  68. Are you shure your fortran program is performing any computation?
  69.  
  70. By
  71. Franz
  72.  
  73. -- 
  74.  --------------------------------------------------------------------------
  75. |  Francesco  D. Di Tolla            | Bitnet:    ditolla@itncisca.bitnet  |
  76. |  Dip. di Fisica Univ. di Trento    | Internet:  ditolla@itnsg1.cineca.it |
  77. |  I-38050 Povo (TN) - Italy         | Decnet:    itnvax::ditolla (37.65)  |
  78.