Hey! Thanks a lot for your reply!
Disclaimer: I am compiling GHC 7.6.1-rc1 while testing this, so my
measurements might be unreliable. Best try it out yourself.
Also, this blind-stab-optimization is /not/ best practice, I just
enjoyed fiddling around.
What /is/ best practice in regards to
Hello everybody!
For testing purposes, I punched down a small program which...
+ puts 2^n elements into an unmutable vector (fromList);
+ generates a random index in the vector (using random-mersenne);
+ reads the value at the index i and at i+{-2,-1,1,2} and makes product
of these values
Hi,
Am Dienstag, den 11.12.2012, 15:25 +0100 schrieb Richard Janis Beckert:
I would be very happy for some input on this, because I am pretty new to
Haskell and I don't really know how to do proper profiling.
by looking at the core (-ddump-simpl) I found a few issues.
neighProd vs l i =
On 12-11-07 12:00 AM, Mike Craig wrote:
Got it. Thanks for the info, Erik. I've updated my cabal config and
reinstalled some of the global packages, and the world seems much less
bleak! :)
The good news is that whatever comes with GHC comes with profiling, you
do not need to reinstall them.
Got it. Thanks for the info, Erik. I've updated my cabal config and
reinstalled some of the global packages, and the world seems much less
bleak! :)
Mike
On Tue, Nov 6, 2012 at 5:39 PM, Erik Hesselink hessel...@gmail.com wrote:
I think this is just the way it works currently, since cabal
Hi! Does anyone know if it is possible to use QtHaskell with profiling
turned on?
--
Mvh Øystein Kolsrud
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
On 20.04.12 10:07, Øystein Kolsrud wrote:
Hi! Does anyone know if it is possible to use QtHaskell with profiling turned
on?
afair i've used it when profiling an application (not qtHaskell itself). what's
the problem you're running into?
you need to compile the library with profiling support
Well, the problem was that I didn't know how to go about compiling it with
profiling support. Thanks for the tip! I'll try that out.
/Øystein
On Fri, Apr 20, 2012 at 12:08 PM, Stefan Kersten s...@k-hornz.de wrote:
On 20.04.12 10:07, Øystein Kolsrud wrote:
Hi! Does anyone know if it is
FYI, you'll also have to compile all the dependencies with profiling on as well.
On 20 April 2012 12:40, Øystein Kolsrud kols...@gmail.com wrote:
Well, the problem was that I didn't know how to go about compiling it with
profiling support. Thanks for the tip! I'll try that out.
/Øystein
On
I'm having trouble with getting a profiling version of Data.PQueue.Min.
I've set the profiling options in ~/.cabal/config and used it to build
profiling versions of other packages. When I run cabal install
--reinstall pqueue, it runs successfully and properly installs the
package...but it
How do I profile cabal libraries?
I cabal install -p a local package I am testing, and I compile a
test of the library using -prof -auto-all. But the profiling report
only lists a CAF entry for the library, but does not detail any of the
library's top level functions.
What am I doing wrong?
2010/10/19 Tom Hawkins tomahawk...@gmail.com:
How do I profile cabal libraries?
I cabal install -p a local package I am testing, and I compile a
test of the library using -prof -auto-all. But the profiling report
only lists a CAF entry for the library, but does not detail any of the
On Tue, Oct 19, 2010 at 8:42 AM, Tom Hawkins tomahawk...@gmail.com wrote:
I cabal install -p a local package I am testing, and I compile a
test of the library using -prof -auto-all. But the profiling report
only lists a CAF entry for the library, but does not detail any of the
library's top
I guess I either need to install profiling libraries for uniplate,
or disable profiling of those functions coming from uniplate.
Exactly. For the former
cabal install --reinstall --enable-library-profiling uniplate
should do the trick.
Sebastian
--
Underestimating the novelty of the
On Sat, May 1, 2010 at 3:02 PM, Sebastian Fischer
s...@informatik.uni-kiel.de wrote:
I guess I either need to install profiling libraries for uniplate, or
disable profiling of those functions coming from uniplate.
Exactly. For the former
cabal install --reinstall
Thanks guys!
On 1 May 2010 14:04, Johan Tibell johan.tib...@gmail.com wrote:
On Sat, May 1, 2010 at 3:02 PM, Sebastian Fischer
s...@informatik.uni-kiel.de wrote:
I guess I either need to install profiling libraries for uniplate, or
disable profiling of those functions coming from
Dear all,
I am trying to compile a project with the "-prof -auto-all" profile options. But the compiler returns:
"Could not find module `Text.ParserCombinators.Parsec.Language':Perhaps you haven't installed the profiling libraries for package `parsec-3.1.0'?Use -v to see a list of the
rodrigo.bonifacio rodrigo.bonifa...@uol.com.br writes:
Could not find module `Text.ParserCombinators.Parsec.Language':
Perhaps you haven't installed the profiling libraries for package
`parsec-3.1.0'?
Use -v to see a list of the files searched for.
How did you install parsec? You
Hi Ivan,
I tried doing
cabal install parsec = 3 --reinstall --enable-library-profiling
This complained about bytestring ... so I did this -
cabal install bytestring --reinstall --enable-library-profiling
And this complained about base -
Data/ByteString.hs:278:7:
Could not find module
Am Dienstag 20 April 2010 18:59:23 schrieb C K Kashyap:
Hi Ivan,
I tried doing
cabal install parsec = 3 --reinstall --enable-library-profiling
This complained about bytestring ... so I did this -
cabal install bytestring --reinstall --enable-library-profiling
And this complained about
Thanks Daniel, that worked.
On Tue, Apr 20, 2010 at 11:24 PM, Daniel Fischer
daniel.is.fisc...@web.dewrote:
Am Dienstag 20 April 2010 18:59:23 schrieb C K Kashyap:
Hi Ivan,
I tried doing
cabal install parsec = 3 --reinstall --enable-library-profiling
This complained about
On Sun, Feb 21, 2010 at 9:11 AM, Thomas DuBuisson
thomas.dubuis...@gmail.com wrote:
How do I tell Cabal to install the necessary code?
set:
library-profiling: True
in your ~/.cabal/config file and never deal with this again (for any
new packages you install). use --reinstall -p to updat
Am Donnerstag 04 März 2010 16:07:51 schrieb Louis Wasserman:
Actually, looking back, I'm not sure mapM is even the right choice.
I think foldM would suffice. All we're doing is finding the association
pair with the minimum key, no? In this case, foldM would do everything
we need to...and
I have written the program below, which solves problem 14 from Project
Euler, which asks us to find the hailstone number below 1 million that
takes the longest to get to 1. The program solves the problem using
dynamic programming using a Data.Map. It completes in under a minute
(barely), but
James,
Which version of Control.Monad.State are you importing?
If you're just importing vanilla Control.Monad.State, that's actually
sending you to Control.Monad.State.Lazy.
Using Control.Monad.State.Strict might solve your problems, srsly. Laziness
can result in epically failing memory leaks.
On Sunday, Andrew Coppin asked:
Is Thread Scope any use for profiling single-threaded programs?
I used threadscope to look at eventlogs from a program that uses OpenGL to
render multiple frames per second (compiled without -threaded). That means,
there is CPU activity regularly (multiple
Two small questions:
1. Is Thread Scope any use for profiling single-threaded programs?
2. I tried to compile my program with -prof, but GHC just whines at me
that the packages I'm using haven't been compiled for profiling. Do I
really need to go recompile every single package I'm using with
I tried to compile my program with -prof, but GHC just whines at me
that the packages I'm using haven't been compiled for profiling. Do I
really need to go recompile every single package I'm using with
profiling support before I can profile my program? How do I tell Cabal
to install the
How do I tell Cabal to install the necessary code?
set:
library-profiling: True
in your ~/.cabal/config file and never deal with this again (for any
new packages you install). use --reinstall -p to updat existing
packages.
Thomas
___
Haskell-Cafe
Patai Gergely wrote:
I tried to compile my program with -prof, but GHC just whines at me
that the packages I'm using haven't been compiled for profiling. Do I
really need to go recompile every single package I'm using with
profiling support before I can profile my program? How do I tell Cabal
Am Sonntag 21 Februar 2010 18:22:07 schrieb Andrew Coppin:
Patai Gergely wrote:
I tried to compile my program with -prof, but GHC just whines at me
that the packages I'm using haven't been compiled for profiling. Do I
really need to go recompile every single package I'm using with
Daniel Fischer wrote:
Am Sonntag 21 Februar 2010 18:22:07 schrieb Andrew Coppin:
Oh, right. So I actually need cabal.exe to do this then?
No, you can also
$ ./runghc ./Setup.[l]hs configure --enable-library-profiling --user --
prefix=$HOME/.cabal
$ ./runghc ./Setup.[l]hs build
$ ./runghc
2010/2/21 Andrew Coppin andrewcop...@btinternet.com:
Daniel Fischer wrote:
What does the --hyperlink-source bit do?
Hello Andrew
It generates marked up source code via hs-colour.
Best wishes
Stephen
___
Haskell-Cafe mailing list
Am Sonntag 21 Februar 2010 21:44:57 schrieb Andrew Coppin:
Daniel Fischer wrote:
Am Sonntag 21 Februar 2010 18:22:07 schrieb Andrew Coppin:
Oh, right. So I actually need cabal.exe to do this then?
No, you can also
$ ./runghc ./Setup.[l]hs configure --enable-library-profiling --user
What does the --hyperlink-source bit do?
Hello Andrew
It generates marked up source code via hs-colour.
I'm presuming this only works if hs-colour is installed first though? Or
is it statically linked into the Haddock binary?
___
Hi Andrew
It needs installing. Its well worth it though, an invaluable tool.
Thanks Malcolm and Bjorn!
On 21 February 2010 21:27, Andrew Coppin andrewcop...@btinternet.com wrote:
I'm presuming this only works if hs-colour is installed first though? Or is
it statically linked into the Haddock
Hi,
I guess I should report this? Previously, this program got a signal 11,
and that happened somewhat later in the process, so I'm not sure how
reproducible it is. Source and data is available, if it is of any
interest.
(This is using the GHC currently shipped with Ubuntu 9.10.)
xml2x3prof:
Hi there,
I mailed to this list in May
(http://www.haskell.org/pipermail/haskell-cafe/2009-May/062126.html)
with no answer at all. So I wrote a smaller program to demonstrate my
problem/question. Maybe now someone can help me now.
I wrote a small program that does nothing but listening
Hi!
On Sat, Jul 12, 2008 at 3:33 AM, Max Bolingbroke
[EMAIL PROTECTED] wrote:
If findColor had been a function defined in terms of foldr rather than
using explicit recursion, then theres a good chance GHC 6.9 would have
fused it with the list to yield your optimized, loop unrolled,
version:
2008/7/12 Mitar [EMAIL PROTECTED]:
So that I can easily change the type everywhere. But it would be much
nicer to write:
data Quaternion a = Q !a !a !a !a deriving (Eq,Show)
Only the performance of Num instance functions of Quaternion is then
quite worse.
You can probably use a
Hi!
On Fri, Jul 18, 2008 at 3:54 PM, Chaddaï Fouché
[EMAIL PROTECTED] wrote:
So that I can easily change the type everywhere. But it would be much
nicer to write:
data Quaternion a = Q !a !a !a !a deriving (Eq,Show)
Only the performance of Num instance functions of Quaternion is then
quite
2008/7/18 Mitar [EMAIL PROTECTED]:
On Sat, Jul 12, 2008 at 3:33 AM, Max Bolingbroke
[EMAIL PROTECTED] wrote:
If findColor had been a function defined in terms of foldr rather than
using explicit recursion, then theres a good chance GHC 6.9 would have
fused it with the list to yield your
Hi!
(I will reply propely later, I have a project to finish and GHC is
playing me around and does not want to cooperate.)
This project of mine is getting really interesting. Is like playing
table tennis with GHC. Some time it gives a nice ball, sometimes I
have to run around after it. But I just
On Sat, Jul 12, 2008 at 8:57 PM, Mitar [EMAIL PROTECTED] wrote:
julia4DFractal :: BasicReal - World
julia4DFractal param (x,y,z) = julia4D (Q (x / scale) (y / scale) (z /
scale) param) iterations
where c = (Q (-0.08) 0.0 (-0.8) (-0.03))
alphaBlue = VoxelColor 0 0 (2 / scale)
Hi!
My guess is that it was premature optimization that created this bug.
It is the root of all evil. ;-)
Unboxed tuples are not the best answer for every situation. They are
evaluated strictly!
Then I have not understood the last paragraph correctly:
Hi!
This is not all. If I compare performance of those two semantically
same functions:
castRayScene1 :: Ray - ViewportDotColor
castRayScene1 (Ray vd o d) = ViewportDotColor vd (castRay' noColor 0)
where castRay' color@(VoxelColor _ _ _ alpha) depth | depth
depthOfField = color
On 2008 Jul 11, at 19:46, Mitar wrote:
It is somehow award that passing function as an argument slow down the
program so much. Is not Haskell a functional language and this such
(functional) code reuse is one of its main points?
That is in fact the case; GHC's version of various Prelude
It is somehow award that passing function as an argument slow down the
program so much. Is not Haskell a functional language and this such
(functional) code reuse is one of its main points?
I can think of a few reasons why function passing is slow:
* There is an overhead to closure creation (I
2008/7/9 Mitar [EMAIL PROTECTED]:
And it took 15 s. And also the profiling was like I would anticipate.
Calculating points coordinates and checking spheres takes almost all
time.
So any suggestions how could I build a list of objects to check at
runtime and still have this third
Hi!
I am making a simple raycasting engine and have a function which take
a point in space and return a color of an object (if there is any) at
this point in space.
And because the whole thing is really slow (or was really slow) on
simple examples I decided to profile it. It takes around 60
Hi Haskellers,
It seems that profiling and threading are not supported at the same
time in GHC6.6. At least, it objects to using both the flags at the
same time, and there's a Trac entry for that issue.
So I just wanted to be sure that I really need threading. I'm passing
text through some
Dougal Stanton wrote:
do
(hin, hout, herr, ph) - runInteractiveProcess cmd args Nothing Nothing
forkIO $ hPutStr hin content hClose hin
out - hGetContents hout
return (ph, out)
which seems to require threading. If I compile without, it will hang
indefinitely, I presume deadlocked. Is
On 20-mei-2007, at 17:39, Anthony Chaumas-Pellet wrote:
Hello,
I'm currently hacking away a wxhaskell program that uses up 100% CPU
even when it should be idle. So, rather than doing blind guesswork,
I've thought about using profiling to spot the zealous function. I do
not need a very
You are not missing anything obvious. The process is in fact
somewhat tricky. What you have to do is the following snip
Thanks! I've followed your instructions and got a profiler-enabled
binary up and running. I'd figured out how to modify the Makefile
(silly me searching for *G*HC), but I had
Just in case anyone was wondering how to do this with the other major
Haskell GUI lib Gtk2Hs...
./configure --enable-profiling
some day when Gtk2Hs is cabalised it'll be even easier.
Duncan
On Sun, 2007-05-20 at 17:39 +0200, Anthony Chaumas-Pellet wrote:
Hello,
I'm currently hacking away a
Thats it! Thanks a lot. I do not even need forceOutput, because I
perform a bottom-up analysis. And the timeline I got looks sooo
great (perfect polynomial behavior :-))
Best regards,
Steffen
2007/5/20, Matthew Brecknell [EMAIL PROTECTED]:
Steffen Mazanek:
I have written a function f, that
Hello,
I'm currently hacking away a wxhaskell program that uses up 100% CPU
even when it should be idle. So, rather than doing blind guesswork,
I've thought about using profiling to spot the zealous function. I do
not need a very accurate result, though.
ghc with -prof -auto(-all) produces the
Hello,
I have written a function f, that performs a quite complex operation on its
argument.
Furthermore I have another function genInput that takes a number and
constructs
an argument for f of this size.
What I want now is a list [(n,time)] that gives me for every size of input n
the time, f
Steffen Mazanek:
I have written a function f, that performs a quite complex operation on
its
argument.
Furthermore I have another function genInput that takes a number and
constructs
an argument for f of this size.
What I want now is a list [(n,time)] that gives me for every size of
On Tue, 2007-04-10 at 12:14 +0200, apfelmus wrote:
Oren Ben-Kiki wrote:
The code is in http://hpaste.org/1314#a1 if anyone at all is willing
to take pity on me and explain what I'm doing wrong.
There is an important point to note about streaming, namely that it
conflicts with knowing whether
reply = parse ... -- Lazily evaluated
tokens = rTokens reply -- Has some values immediately
list = D.toList tokens -- Has some values immediately
mapM_ list print -- Start printing immediately!
..
reply = parse ... -- Lazily evaluated
result = rResult reply -- Lazy; has value when parsing is
On Tue, Apr 10, 2007 at 11:03:32AM -0700, Oren Ben-Kiki wrote:
On Tue, 2007-04-10 at 12:14 +0200, apfelmus wrote:
Oren Ben-Kiki wrote:
The code is in http://hpaste.org/1314#a1 if anyone at all is willing
to take pity on me and explain what I'm doing wrong.
There is an important point to
Chasing down my memory leak I got into a weird situation where adding
a magic manual SCC section and compiling with -prof makes the leak
disappear. Now, I'll take any solution I can find - but this black
voodoo only works for the short program I created for investigating
the leak. It fails on the
Hi again,
I posted a bunch of questions on profiling here a few days back, but
couldn't tickle anybody to post a reply. Since I am not tired any
more today, but still can't understand the documentation, or the
output of the profiler, here it goes again:
What qualifies as constant applicable
On Tue, Oct 10, 2006 at 01:31:58PM +0200, Matthias Fischmann wrote:
What qualifies as constant applicable form, and why is it not
labelled in a more informative way?
CAFs are, AIUI, things that are just values (i.e. things that don't take
an argument) that have been floated up to the top
On Tue, Oct 10, 2006 at 01:59:23PM +0100, Ian Lynagh wrote:
To: Matthias Fischmann [EMAIL PROTECTED]
Cc: haskell-cafe@haskell.org
From: Ian Lynagh [EMAIL PROTECTED]
Date: Tue, 10 Oct 2006 13:59:23 +0100
Subject: Re: [Haskell-cafe] Profiling CAFs (re-post)
On Tue, Oct 10, 2006 at 01:31
On 10/10/06, Ian Lynagh [EMAIL PROTECTED] wrote:
On Tue, Oct 10, 2006 at 01:31:58PM +0200, Matthias Fischmann wrote:
What qualifies as constant applicable form, and why is it not
labelled in a more informative way?
CAFs are, AIUI, things that are just values (i.e. things that don't take
On Tue, Oct 10, 2006 at 05:21:52PM +0200, Matthias Fischmann wrote:
Compiling with -caf-all might give you more useful information.
Oops. I thought i had that in my Makefile, but appearently i was
wrong... If I add it, this is what happens:
$ ghc -prof -caf-all Main.hs -o Main # (ghc
Hello.
How can one profile a program which uses gtk2hs?
I get this:
$ ghc --make MainGui.hs -prof
Chasing modules from: MainGui.hs
Could not find module `Graphics.UI.Gtk.Mogul':
use -v to see a list of the files searched for
(imported from ./TreeViewHelpers.hs)
I tried to specify gtk2hs
On Wed, 2006-06-07 at 23:58 +, Dmitry V'yal wrote:
Hello.
How can one profile a program which uses gtk2hs?
I get this:
At the moment the Gtk2Hs build system does not support building a
profiling version. This should change when the move to using Cabal,
however that may be some time. So
70 matches
Mail list logo