Re: [Lazarus] Console app
On 03/15/2014 08:10 AM, Richard Mace wrote: Hi All, I have never written a console app and was wondering 2 things. Firstly, if I was to write an app that doesn't require a GUI, that runs on both Windows and Linux (with no XServer) is that classed as a console app? And secondly, is it fairly straight forward to write a console app that stores and retrieves data from a Firebird database, on the basis that I want to be able to use either the standard Lazarus components (or Zeos) to talk to the database? A problem might be that there (right now) is no Widget Type in Lazarus, that has no GUI binding and allows for using stuff like TTimer, TThread.Synchronize, TThread.Queue and QueuAsyncCall(). In fact I am planning to do such a Widget Type, but unfortunately I currently am busy with unrelated things. -Michael -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console app
On 3/17/14, Michael Schnell mschn...@lumino.de wrote: A problem might be that there (right now) is no Widget Type in Lazarus, that has no GUI binding and allows for using stuff like TTimer, TThread.Synchronize, TThread.Queue and QueuAsyncCall(). The NoGUI WS doesn't allow this? Bart -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console app
On 03/17/2014 11:04 AM, Bart wrote: The NoGUI WS doesn't allow this? No. It does not provide an Event Queue for the main thread. -Michael -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console app
On Mon, 17 Mar 2014 11:04:07 +0100 Bart bartjun...@gmail.com wrote: On 3/17/14, Michael Schnell mschn...@lumino.de wrote: A problem might be that there (right now) is no Widget Type in Lazarus, that has no GUI binding and allows for using stuff like TTimer, TThread.Synchronize, TThread.Queue and QueuAsyncCall(). The NoGUI WS doesn't allow this? The NoGUI has not implemented it. Feel free to add it. Mattias -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console app
On 03/17/2014 11:14 AM, Mattias Gaertner wrote: Feel free to add it. It's not as impossible as I initially thought, as the fpc RTL already provides the basic Queue implantation that can be used (while all other active Widget Types use a queue provided by the GUI infrastructure they attach to). Doing TTimer needs some afterthoughts: there are multiple ways, each with some pro's and cons: e.g. - simply using the timeout parameter of the RTL queue poll procedure, - doing one or several dedicated threads with sleep() for handling the timers, feeding timer events into the queue - ... -Michael -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console app
I have never written a console app and was wondering 2 things. Firstly, if I was to write an app that doesn't require a GUI, that runs on both Windows and Linux (with no XServer) is that classed as a console app? And secondly, is it fairly straight forward to write a console app that stores and retrieves data from a Firebird database, on the basis that I want to be able to use either the standard Lazarus components (or Zeos) to talk to the database? A problem might be that there (right now) is no Widget Type in Lazarus, that has no GUI binding and allows for using stuff like TTimer, TThread.Synchronize, TThread.Queue and QueuAsyncCall(). Ah, yes. That would be ab issues as using a TTimer would be essential for what I am planning :( Richard -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
[Lazarus] Console app
Hi All, I have never written a console app and was wondering 2 things. Firstly, if I was to write an app that doesn't require a GUI, that runs on both Windows and Linux (with no XServer) is that classed as a console app? And secondly, is it fairly straight forward to write a console app that stores and retrieves data from a Firebird database, on the basis that I want to be able to use either the standard Lazarus components (or Zeos) to talk to the database? Thanks in advance Richard -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console app
On 15/03/2014 08:10, Richard Mace wrote: I have never written a console app and was wondering 2 things. Firstly, if I was to write an app that doesn't require a GUI, that runs on both Windows and Linux (with no XServer) is that classed as a console app? Yes, it would. And secondly, is it fairly straight forward to write a console app that stores and retrieves data from a Firebird database, on the basis that I want to be able to use either the standard Lazarus components (or Zeos) to talk to the database? Well, they're standard FPC components[1] rather than Lazarus components then... (So follow up questions probably belong on the FPC list rather than the Lazarus one) See http://wiki.lazarus.freepascal.org/Database_bug_reporting#FreePascal for a simple example, but you can work with queries etc just as you're used to with Lazarus [1] FPC's sqldb, which is also used by Lazarus GUI components -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console app
On Sat, 15 Mar 2014 07:10:27 + Richard Mace richard.m...@gmail.com wrote: Hi All, I have never written a console app and was wondering 2 things. Firstly, if I was to write an app that doesn't require a GUI, that runs on both Windows and Linux (with no XServer) is that classed as a console app? Yes. And secondly, is it fairly straight forward to write a console app that stores and retrieves data from a Firebird database, on the basis that I want to be able to use either the standard Lazarus components (or Zeos) to talk to the database? Yes. Mattias -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 14.08.2011 00:05, Graeme Geldenhuys wrote: On 13 August 2011 23:25, Marco van de Voort wrote: How do you measure memory usage? Two ways: 1) 'gnome-system-monitor', look in the Processes tab, there is a Memory column. 2) Use 'top -pprocessid. Subtract the SHR value from the RES value. What is what I mean by memory usage. Maybe you could create a small IDE package that provides an interface to the GetHeapStatus ( http://www.freepascal.org/docs-html/rtl/system/getheapstatus.html ) and GetFPCHeapStatus ( http://www.freepascal.org/docs-html/rtl/system/getfpcheapstatus.html ) functions by e.g. a menu entry to check whether it's just the heap manager that didn't release the memory chunks yet. Regards, Sven -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On Sun, Aug 14, 2011 at 12:05:02AM +0200, Graeme Geldenhuys wrote: How do you measure memory usage? Two ways: 1) 'gnome-system-monitor', look in the Processes tab, there is a Memory column. 2) Use 'top -p processid. Subtract the SHR value from the RES value. What is what I mean by memory usage. If you use such crude tools, better do additional research before making claims about a program. It might be the memory manager or heap fragmentation, not the program. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 14 August 2011 15:07, Marco van de Voort wrote: claims about a program. It might be the memory manager or heap fragmentation, not the program. Then it's very strange that just Lazarus IDE is showing this behaviour on my system. Other software and tools I have written can allocated lots of memory, but when I free those objects, those crude memory values I spoke of drop considerably. Even MSEide shows this. Start the MSEide, memory usage is 8MB in Gnome System Monitor. Load 400 units and memory jumps to 30MB. Switch between a few tabs, compile the project, run the project. Then do File - Close All files. Memory usage in 'gnome-system-monitor' drops back down to 7MB. Go figure. So again, Lazarus IDE is doing something wrong! -- Regards, - Graeme - ___ fpGUI - a cross-platform Free Pascal GUI toolkit http://fpgui.sourceforge.net -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On Sun, Aug 14, 2011 at 03:24:10PM +0200, Graeme Geldenhuys wrote: claims about a program. It might be the memory manager or heap fragmentation, not the program. Then it's very strange that just Lazarus IDE is showing this behaviour on my system. Other software and tools I have written can allocated lots of memory, but when I free those objects, those crude memory values I spoke of drop considerably. No memory manager is ever safe for all memory access patterns. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 8/12/2011 23:14, Michael Thompson wrote: OMG. Then we really need to discover what the gtk2 glue is doing so wrong. It's not just LCL-GTK2, the same thing happens with Lazarus IDE compiled for LCL-Qt4 too. Just tested. Opening a blank project, Lazarus IDE (using LCL-Qt4) uses 69MB already. Open a 100 units and the memory usage jumps to 140MB. Does the memory usage lower when you then close the 100 units? Trying to eliminate leak as a possibility. would not a leak show up in the debug GUI compilation profile when everything is closed and exited? or does this maybe go deeper and require that FPC be compiled with debugger/heaptrace support? -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 12 August 2011 18:40, Martin laza...@mfriebe.de wrote: gvim does only open about 10 tabs not one tab per file. At least my installation. I can not open more tabs, or access any other than the 10 tabs. I can from the buffer menu change the content of each tab, but that's still only 10 tabs. You have to set tabpagemax (i set mine to 500 for the test). gvim (i just installed) does not have horizontal scrollbar, and if it wraps line it does not update the vertical scrollbar (maybe by design, but that's a terrible design, though one that saves a lot of time, hence good for the benchmark.) Of course there is a setting for this, too (wrap). the highlighting appears to be erroneous and far less complete public in a class is highlighted, protected is not deprecated is not hl. I was unable to find out, if ANY hl is context sensitive at all; but for example nested comments are not correctly highlighted. Overall it appears that it is a simple word based highlighting, versus a content sensitive highlighing in Lazarus (apples and bananas) You have to make sure that you've set the highlighting for delphi or fpc. In either case, the highlighting is trivial. If you're taking ten times longer to open the file, then you're doing it wrong. It's quite funny that you're trying to prove that lazarus is somehow more powerful than vim. It's the opposite way around. But that's not what I'm here to discuss. My point was that a really powerful editor is taking orders of a magnitude less time to open files than lazarus, so there is much scope for improvement. Henry -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
Am 13.08.2011 12:05, schrieb Henry Vermaak: You have to make sure that you've set the highlighting for delphi or fpc. In either case, the highlighting is trivial. At least considering nested comments etc., this is not true :) I never used vim, but all fpc highlighting I saw so far in unix editors was far from perfect, it was trivial, indeed, but wrong :) -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 13/08/2011 11:05, Henry Vermaak wrote: You have to make sure that you've set the highlighting for delphi or fpc. In either case, the highlighting is trivial. If you're taking ten times longer to open the file, then you're doing it wrong. It's quite funny that you're trying to prove that lazarus is somehow more powerful than vim. It's the opposite way around. But that's not what I'm here to discuss. My point was that a really powerful editor is taking orders of a magnitude less time to open files than lazarus, so there is much scope for improvement. Henry -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus I haven't looked at changing the highlighter. No time to find out how, or even how to install but I added the max tab. Now gvim takes 10 seconds Lazarus 16 secs That is not orders of magnitude ? Even if you look at the 27 secs when using command line instead of project. This can be fixed in Lazarus, by applying 2 lines of code = once the proper code block has been found. As for my comparison of the two. I am not trying to compare the overall power of the two. Most of the functionality only uses resources, if it is triggered. So gvim may have a lot of editor commands lazarus does not have, they do not affect loading. Again, I do not know gvim well enough. and I haven't analysed where the time in Lazarus really goes. It may be that Lazarus is slower due to some design flaw, without any benefit provided... But it is equally possible, that some functionality in Lazarus, that gvim does not have) uses this time for a very good cause. e.g code tools scanning the files, may take some time (if it isn't deferred, and assuming gvim doe s not have a codetool equivalent). - Anyway, back to my first statement. the time lazarus requires to load a huge amount of files is as I said not bad. I never said excellent or top of the list. not bad of course means that you will be able to find individual editors that are faster. But if you look at a range of editors, you will equally find those that a slower. geanny took double (or even tripple) the time. I did tests on windows half a year ago (don't remember the editors) But severla editors where slower or similar in speed than Lazarus. That would set Lazarus to be average, and to me average is not bad - As for room for improvment: - I never said there wasn't - I said, that speed improvement (for loading) would not have to be not top priority I stand by that. It already is average. That means while it does not top benchmarks, it serves well enough for normal daily usage. --- btw: gvim 10 secs Lazarus 16 or 27 secs emacs: 20 secs geany 57 secs gedit 82 secs -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 12 August 2011 20:42, Vincent Snijders wrote: Another reason to have as little releases as possible. ;-) LOL. The funniest comment I have seen in a while. :) -- Regards, - Graeme - ___ fpGUI - a cross-platform Free Pascal GUI toolkit http://fpgui.sourceforge.net -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 12 August 2011 18:57, Henry Vermaak wrote: similar capability. As Graeme showed, we've become slower, so if we don't watch it, this kind of attitude will end us up with a sluggish, bloated ide. Thank you. Somebody gets what I'm trying to get across. The problem is not not serious yet, but Lazarus is getting slower. -- Regards, - Graeme - ___ fpGUI - a cross-platform Free Pascal GUI toolkit http://fpgui.sourceforge.net -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
2011/8/13 Michael Thompson : Does the memory usage lower when you then close the 100 units? Trying to eliminate leak as a possibility. Closing all but one file, memory usage dropped by a whopping 2MB. I left the system idle for about 10 minutes while having a coffee brake. Memory usage was still the same, so there doesn't seem to be some delayed garage collection. :-/ Here again MSEide frees up resources nicely when I close files. -- Regards, - Graeme - ___ fpGUI - a cross-platform Free Pascal GUI toolkit http://fpgui.sourceforge.net -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 13/08/2011 15:25, Graeme Geldenhuys wrote: On 12 August 2011 18:57, Henry Vermaak wrote: similar capability. As Graeme showed, we've become slower, so if we don't watch it, this kind of attitude will end us up with a sluggish, bloated ide. Thank you. Somebody gets what I'm trying to get across. The problem is not not serious yet, but Lazarus is getting slower. Are you sure? Have you compared speed to 0.9.28? And which actions have you used for checking speed? I know of several things that in 2010/2011 have had huge speed improvments. Some of them have been after 0.9,30. But some of them were between 0.9.28 and 0.9.30. Things that speed up opening projects with many files have been improved before 0.9.30 and after. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 12.08.2011 18:47, Florian Klämpfl wrote: Am 11.08.2011 22:13, schrieb Graeme Geldenhuys: On 11 August 2011 21:38, Felipe Monteiro de Carvalho felipemonteiro.carva...@gmail.com wrote: I find the choice of going for a console app quite curious. +1 And this is not the first message (in recent days) where the developer is considering console app over gui app. Weird, but I guess there must be a niche market out there we don't know about. :) Compiler development ;) I do almost all fpc development work with the textmode ide :) At least the textmode IDE is then tested on a regular base ^^ (I personally prefer Lazarus for almost everything except simple test projects: for that I use nano :P ) Regards, Sven -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 13 August 2011 16:38, Martin wrote: Are you sure? Have you compared speed to 0.9.28? And which actions have you used for checking speed? Yet, at least between a 0.9.29 binary I had lying around, and 0.9.30.1 In the days of 0.9.26 and 0.9.28 I used the GTK1 interface. At that point LCL-GTK1 was considerably faster than the LCL-GTK2 - in the editor, dialogs, and general screen updates. I know LCL-GTK2 has come a long way since then. When I say slower, in this test case I can not the following. - Loading time of all tabs (eg: when I tested with 100 or 200 units) - tab / editor screen update. The editor was blank for the duration of loading those units. MSEide was instant with near zero screen flicker. My other concern was memory consumption. I know I have no clue as to what Lazarus IDE everything does, but I can say that for the generate usage of loading a project with some 5-15 units open, code navigating here and there etc.. the memory consumption of Lazarus is by magnitudes more than MSEide. Regarding what I was test or using in the editor, both IDE's had the same functionality. -- Regards, - Graeme - ___ fpGUI - a cross-platform Free Pascal GUI toolkit http://fpgui.sourceforge.net -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On Sat, Aug 13, 2011 at 1:49 PM, Graeme Geldenhuys graemeg.li...@gmail.com wrote: On 13 August 2011 16:38, Martin wrote: Are you sure? Have you compared speed to 0.9.28? And which actions have you used for checking speed? Yet, at least between a 0.9.29 binary I had lying around, and 0.9.30.1 In the days of 0.9.26 and 0.9.28 I used the GTK1 interface. At that point LCL-GTK1 was considerably faster than the LCL-GTK2 - in the editor, dialogs, and general screen updates. I know LCL-GTK2 has come a long way since then. When I say slower, in this test case I can not the following. - Loading time of all tabs (eg: when I tested with 100 or 200 units) - tab / editor screen update. The editor was blank for the duration of loading those units. MSEide was instant with near zero screen flicker. My other concern was memory consumption. I know I have no clue as to what Lazarus IDE everything does, but I can say that for the generate usage of loading a project with some 5-15 units open, code navigating here and there etc.. the memory consumption of Lazarus is by magnitudes more than MSEide. Regarding what I was test or using in the editor, both IDE's had the same functionality. -- Regards, - Graeme - Question: do you have Open designer on open unit preference enabled? -Flávio -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 13/08/2011 17:49, Graeme Geldenhuys wrote: On 13 August 2011 16:38, Martin wrote: Are you sure? Have you compared speed to 0.9.28? And which actions have you used for checking speed? Yet, at least between a 0.9.29 binary I had lying around, and 0.9.30.1 Both GTK2 ? For the opeing of a project with *m any* files? But well yes, if you had a 0.9.29, that already had the loading optimizations (and was faster than 0.9.28) then that could be. Obviously the speed isn't constant. New features get added, the may take time while loading. The idea can not be, to keep the time always constant, or getting faster only. Then many features could never be added (your elastic tabs, if ever done, might mean a slow down... / though that falls under the deferred-to-idle scans). In Laz trunk there where some speed improvements for project loading again (IIRC) In the days of 0.9.26 and 0.9.28 I used the GTK1 interface. At that point LCL-GTK1 was considerably faster than the LCL-GTK2 - in the editor, dialogs, and general screen updates. interesting. Gtk1 does not have support for propper scrolling. So scrolling in synedit under GTK1 is considerable slower. Though the scroll support under gtk2 was only added quite late. So for a long time that may have been true. Otherwhise I can not tell much about gtk2. But then one would need to have some fundamental info about the difference of speed of the 2 GTKs themself. I know LCL-GTK2 has come a long way since then. When I say slower, in this test case I can not the following. - Loading time of all tabs (eg: when I tested with 100 or 200 units) You mean between gtk2 and gtk1? Well I can not speak about that. - tab / editor screen update. The editor was blank for the duration of loading The blank is partly intentional. Older lazarus did add tab by tab, updating tabs that wouldn't even be displayed. there was no point in that. That change was made in the IDE, affecting all widgetsets. those units. MSEide was instant with near zero screen flicker. Very interesting. I just added the 450 univint files to a project in mseide (though under windows, while all other tests where done under linux) It takes 15 seconds to open (so yes it is a little faster than lazarus, but not such massively) My version may be a few month old My other concern was memory consumption. I know I have no clue as to what Lazarus IDE everything does, but I can say that for the generate usage of loading a project with some 5-15 units open, code navigating here and there etc.. the memory consumption of Lazarus is by magnitudes more than MSEide. Regarding what I was test or using in the editor, both IDE's had the same functionality. All I know is, when I open the ide project (mseide ide project / whatever the projectfile is called) itself, and then try to open file, it always prompts me for missing form files or similar... Then again, maybe my config got screed along the way... as for it codetools equivalent: Some thinks don't jump, but may be my config. I found a link I just clicked, which took over 2 secs before the mse-ide actually jumped (at least it showed a busy mouse pointer) Let me just stress out: I do not mean in any way to say, that this is in anyway something bad about mse-ide. I only observe that some of the statements made before are not reproducible n my system. MSEide does require time too (memory I have not analysed.) -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
Am Samstag 13 August 2011, 19:45:09 schrieb Martin: those units. MSEide was instant with near zero screen flicker. Very interesting. I just added the 450 univint files to a project in mseide (though under windows, while all other tests where done under linux) It takes 15 seconds to open (so yes it is a little faster than lazarus, but not such massively) There was a missing beginupdate()/endupdate() so the load time was O(n²). Should be faster soon. ;-) Martin -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 13/08/2011 17:49, Graeme Geldenhuys wrote: My other concern was memory consumption. I know I have no clue as to what Lazarus IDE everything does, but I can say that for the generate usage of loading a project with some 5-15 units open, code navigating here and there etc.. the memory consumption of Lazarus is by magnitudes more than MSEide. Regarding what I was test or using in the editor, both IDE's had the same functionality. Well one thing, I noted is that MSEide does not seem to deal with nested comments, that opens the question how much context the remaining highlighting takes into account. The more context is needed, the more time and memory it will cost. There were plenty of reports (some by you IIRC Graeme) like deprecated being highlighted in the wrong place. That was fixed. But of course it requires to analyse the source much more detailed. (yet it is still fast) -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 13/08/2011 18:59, Martin Schreiber wrote: Am Samstag 13 August 2011, 19:45:09 schrieb Martin: those units. MSEide was instant with near zero screen flicker. Very interesting. I just added the 450 univint files to a project in mseide (though under windows, while all other tests where done under linux) It takes 15 seconds to open (so yes it is a little faster than lazarus, but not such massively) There was a missing beginupdate()/endupdate() so the load time was O(n²). Should be faster soon. ;-) Since you are on it. Same issue, if you open the 450 files from the open-file dialog (with multi select) Additional, if you do open them like that (into an otherwhise empty project) some files stay without highlighting. They will be, if you close and re-open the project -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
Am Samstag 13 August 2011, 19:59:15 schrieb Martin: On 13/08/2011 17:49, Graeme Geldenhuys wrote: My other concern was memory consumption. I know I have no clue as to what Lazarus IDE everything does, but I can say that for the generate usage of loading a project with some 5-15 units open, code navigating here and there etc.. the memory consumption of Lazarus is by magnitudes more than MSEide. Regarding what I was test or using in the editor, both IDE's had the same functionality. Well one thing, I noted is that MSEide does not seem to deal with nested comments, that opens the question how much context the remaining highlighting takes into account. The default pascal.sdef file is Delphi compatible. Please change in apps/ide/syntaxdefs/pascal.sdef scope comment1 comment endtokens '}' to scope comment1 comment calltokens '{' comment1 endtokens '}' for nested comments. The more context is needed, the more time and memory it will cost. MSEide does not store context for syntax highlighting after the source has been colored. The editor grid stores richstringty: richstringty = record text: msestring; format: formatinfoarty; flags: richflagsty; end; format stores the color and font info of the string. The parser for code navigation is independent from syntaxhighlighting. Martin -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 13/08/2011 18:59, Martin Schreiber wrote: Am Samstag 13 August 2011, 19:45:09 schrieb Martin: Very interesting. I just added the 450 univint files to a project in mseide (though under windows, while all other tests where done under linux) It takes 15 seconds to open (so yes it is a little faster than lazarus, but not such massively) There was a missing beginupdate()/endupdate() so the load time was O(n²). Should be faster soon. ;-) Watching the process, it appears, that when opeing a project, MSE-ide does not load all the files for which it creates tabs? At least sysutils does not show any disk activity to that extend. While if I open them via the file-open (into an empty project) then it appears they are loaded? If the first assumption is true, then there is little point in comparing mse ide and Lazarus. Lazarus is designed to open them. (e.g It needs to know if the file refers to a form/lfm // I don't know what else may require an immediate load of the file). However that is a fixed difference. That will not get worse with each lazarus version (which was the expressed concern, that started this discussion) -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 13/08/2011 19:28, Martin Schreiber wrote: The default pascal.sdef file is Delphi compatible. Please change in apps/ide/syntaxdefs/pascal.sdef scope comment1 comment endtokens '}' to scope comment1 comment calltokens '{' comment1 endtokens '}' for nested comments. Thanks, that worked The more context is needed, the more time and memory it will cost. MSEide does not store context for syntax highlighting after the source has been colored. The editor grid stores richstringty: richstringty = record text: msestring; format: formatinfoarty; flags: richflagsty; end; format stores the color and font info of the string. Well in a way that stores the info too. I assume you store the formatinfoarty for the begin of each line? In that case it is pretty similar to SynEdit The parser for code navigation is independent from syntaxhighlighting. Same in Lazarus -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
Am Samstag 13 August 2011, 20:26:22 schrieb Martin: Watching the process, it appears, that when opeing a project, MSE-ide does not load all the files for which it creates tabs? At least sysutils does not show any disk activity to that extend. While if I open them via the file-open (into an empty project) then it appears they are loaded? Correct. If the first assumption is true, then there is little point in comparing mse ide and Lazarus. Correct. After the fix of the missing beginupdate()/endupdate() MSEide should open the project and create the 400 editor tabs in 2..3 seconds. Martin -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 13/08/2011 19:37, Martin Schreiber wrote: Correct. After the fix of the missing beginupdate()/endupdate() MSEide should open the project and create the 400 editor tabs in 2..3 seconds. Yes, I have the update, less than 1 sec. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
Am Samstag 13 August 2011, 20:33:13 schrieb Martin: MSEide does not store context for syntax highlighting after the source has been colored. The editor grid stores richstringty: richstringty = record text: msestring; format: formatinfoarty; flags: richflagsty; end; format stores the color and font info of the string. Well in a way that stores the info too. I assume you store the formatinfoarty for the begin of each line? The source code is stored in a trichstringdatalist which is an array of richstringty, an array item is the text of a grid row. In that case it is pretty similar to SynEdit Probably. Martin -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
2011/8/13 Flávio Etrusco : Question: do you have Open designer on open unit preference enabled? I have no idea. But it is most likely not relevant either. My projects are all fpGUI based, and that's the projects I used to test Lazarus with. Those projects don't use *.lfm files like LCL apps do. To Lazarus, those units are just source code. -- Regards, - Graeme - ___ fpGUI - a cross-platform Free Pascal GUI toolkit http://fpgui.sourceforge.net -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 13 August 2011 19:45, Martin wrote: Yet, at least between a 0.9.29 binary I had lying around, and 0.9.30.1 Both GTK2 ? For the opeing of a project with *m any* files? Yes, the old 0.9.29 and new 0.9.30.1 versions of Lazarus was both compiled against GTK2 widgetset. Obviously the speed isn't constant. New features get added, the may take time while loading. New features don't always need to mean slower and more memory hungry. Just look at Mozilla Firefox project. The last few versions came with new features, but also with speed improvements and less memory hungry. So it is possible. :) or getting faster only. Then many features could never be added (your elastic tabs, if ever done, might mean a slow down... / though that falls under the deferred-to-idle scans). I've seen implementations of Elastic Tabstops (ET) that are slow and others that are fast. There are different algorithms and implementations to implementing ET. jEdit is quit fast at everything (especially for a Java desktop app). They are introducing ET support in their next version. I am very curious to see how fast that will be. In Laz trunk there where some speed improvements for project loading again Excellent. I haven't really tried Trunk much since the 0.9.30 release. - Loading time of all tabs (eg: when I tested with 100 or 200 units) You mean between gtk2 and gtk1? No, between Lazarus IDE and MSEide - how long it takes to create 100 or 200 tabs. - tab / editor screen update. The editor was blank for the duration of loading The blank is partly intentional. Older lazarus did add tab by tab, updating tabs that wouldn't even be displayed. there was no point in that. That change was made in the IDE, affecting all widgetsets. Can't you have one tab as active, and add more tabs without changing the active tab? Does LCL always set focus (active tab) to the newly created tab sheet? That's what it looks like to me (when I tested Friday at work). Very interesting. I just added the 450 univint files to a project in mseide (though under windows, while all other tests where done under linux) I only tested under Linux, so can't comment on the Windows version. It takes 15 seconds to open (so yes it is a little faster than lazarus, but not such massively) Mine was a huge difference. I use the latest revision of MSEide. But I don't follow to closely what Martin adds or changes to MSEideMSEgui. Just like with Lazarus IDE, I use MSEide as a stand-alone product (editor) for my fpGUI based projects. All I know is, when I open the ide project (mseide ide project / whatever the projectfile is called) itself, and then try to open file, it always prompts me for missing form files or similar... I remember I used to get those too, but don't any more. I think it was related to search paths in the Project Options | Debugger tab. Not 100% sure. as for it codetools equivalent: Some thinks don't jump, but may be my config. This works differently to Lazarus IDE. Lazarus always adds all code (I think), even from FPC src directories. With MSEide you can tell it what code it should parse to allow navigation of code. I think this is what speeds MSEide up as well - by default it has less work to do. This is setup under Project Options | Debugger tab | Source Directories tab. I have project templates that are already pre-configured for what I want or need. anyway something bad about mse-ide. I only observe that some of the statements made before are not reproducible n my system. That's understandable. MSEide has very different settings to Lazarus IDE (just like any other IDE would have too). It took me a while to find my way around MSEide. But now I am pretty efficient in using both Lazarus IDE and MSEide. I often switch between the two at work - sometimes even for the same project. At home I only run MSEide because I have a aging Intel P4 laptop which is 8 years old, and MSEide is just faster on it than Lazarus and uses much less memory. I don't even run Gnome on my laptop any more. :) -- Regards, - Graeme - ___ fpGUI - a cross-platform Free Pascal GUI toolkit http://fpgui.sourceforge.net -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On Sat, Aug 13, 2011 at 04:31:22PM +0200, Graeme Geldenhuys wrote: Closing all but one file, memory usage dropped by a whopping 2MB. I left the system idle for about 10 minutes while having a coffee brake. Memory usage was still the same, so there doesn't seem to be some delayed garage collection. :-/ How do you measure memory usage? Maybe it is the heapmanager, not lazarus that has a problem. (and then you are not that far off with the delayed garbage collection) -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 13 August 2011 19:59, Martin wrote: Well one thing, I noted is that MSEide does not seem to deal with nested comments, Florian also mentioned something like that. First, nested comments give me compiler warnings, so I never do that. I listen to the FPC compiler. :) And if I must, my outer comments then use (* *) style commenting, which works fine in both Lazarus IDE and MSEide. So could you give a code example of what you mean? There were plenty of reports (some by you IIRC Graeme) like deprecated being highlighted in the wrong place. That seems to work fine in my copy of MSEide, and my syntax highlighting scheme. I don't use default syntax highlighting schemes in Lazarus or MSEide. Attached is two examples in MSEide where deprecated is correctly highlighted. I can't remember the example I reported in Lazarus - I'll search the Mantis reports. -- Regards, - Graeme - ___ fpGUI - a cross-platform Free Pascal GUI toolkit http://fpgui.sourceforge.net attachment: example1.pngattachment: example2.png-- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 8/13/11, Graeme Geldenhuys graemeg.li...@gmail.com wrote: I have a aging Intel P4 laptop which is 8 years old, and MSEide is just faster on it than Lazarus and uses much less memory. I don't even run Gnome on my laptop any more. :) [Off Topic] I run Lazarus on a 11 year old 700 Mhz Celeron with 512 Mb using both Windows (WinME) and Linux (Suse 10.0)/GTK2. It's definately not as fast as Delphi 3, but it has outgrown it. Then again, I only program for my hobby, so I don't mind (although in Linux GTK2 dragging components etc. in the formdesigner is way slower than win32). [/Off Topic] Bart -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 13/08/2011 22:34, Graeme Geldenhuys wrote: There were plenty of reports (some by you IIRC Graeme) like deprecated being highlighted in the wrong place. That seems to work fine in my copy of MSEide, and my syntax highlighting scheme. I don't use default syntax highlighting schemes in Lazarus or MSEide. Attached is two examples in MSEide where deprecated is correctly highlighted. Those are examples of it in the right place. the reported trouble was for something like this procedure Deprecated; procedure Foo(deprecated: Boolean); type deprecated = boolean; var a: deprecated; etc. MSE-ide appears to highlight quite some of them. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 13 August 2011 23:25, Marco van de Voort wrote: How do you measure memory usage? Two ways: 1) 'gnome-system-monitor', look in the Processes tab, there is a Memory column. 2) Use 'top -p processid. Subtract the SHR value from the RES value. What is what I mean by memory usage. -- Regards, - Graeme - ___ fpGUI - a cross-platform Free Pascal GUI toolkit http://fpgui.sourceforge.net -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 13 August 2011 23:56, Martin wrote: So as far as I can see speed is watched, where it has an impact on normal use cases. OK, thanks. the active tab? Does LCL always set focus (active tab) to the newly created tab sheet? That's what it looks like to me (when I tested Friday at work). I don't know enough about that, and it may depend on the widgetset too. maybe windows, or gtk are forcing it? Maybe all that is required is: pagecontrol.beginupdate ... pagecontrol.endupdate. ;-) Then the control should only need to redraw once, and not per tab. I don't know if anyone has such a number of files open in real life, you can't maintain them anyway, you never find a file through the tabs, and neither through any menu. Martin does in MSEide, and I am starting to use it in a similar fashion. Open those units in MSEide. Then press Ctrl+E. A form will popup with a grid which is searchable by just starting to type, or navigating quickly with the arrow keys. I used to put all my units inside a project inspector like tree structure. But having hundreds of units makes navigation no faster even if they are sorted alphabetically. You just can't see enough items at a glance. Martin's idea in MSEide works quite well. And yes, you are correct. Navigation in Lazarus with that amount of units is totally useless. Even the popup menu when you right click on the tab, or the Window menu is just to large, and scrolling that menu takes forever (in GTK2). -- Regards, - Graeme - ___ fpGUI - a cross-platform Free Pascal GUI toolkit http://fpgui.sourceforge.net -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 13/08/2011 22:56, Graeme Geldenhuys wrote: On 13 August 2011 20:26, Martin wrote: ide and Lazarus. Lazarus is designed to open them. (e.g It needs to know if the file refers to a form/lfm // I don't know what else may require an immediate load of the file). This might sound silly, but Why? If the project opens lots of units, those are just source code units. Forms should only come into play when the developers presses F12 to show the Form for a specific unit. Or am I not understanding Lazarus's form designer or codetools correctly? Are you saying that if Lazarus opens a project with 50 units that are actually the source code of form declarations, then Lazarus will also display 50 forms when loading that project? if the source was open, yes. (afaik), maybe there is an option... I don't know for sure, if the project would remember, if the form was closed, but the source open. But assuming that normally form and source are open together: If you had 50 fomrs open when you closed the project, then you can have them open again, or not? Otherwise, you probably wouldn't have had the units open either. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 13/08/2011 23:21, Graeme Geldenhuys wrote: the active tab? Does LCL always set focus (active tab) to the newly created tab sheet? That's what it looks like to me (when I tested Friday at work). I don't know enough about that, and it may depend on the widgetset too. maybe windows, or gtk are forcing it? Maybe all that is required is: pagecontrol.beginupdate ... pagecontrol.endupdate. ;-) Then the control should only need to redraw once, and not per tab. If you open a project , that is already done. The page control draws only at the very end (on windows) I don't know if gtk supports that... If you load files by other means, the lock is not always applied. Obviously work that needs to be done -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
Am Samstag 13 August 2011, 23:56:13 schrieb Martin: I don't know if loading the files can even be omitted. After all the IDE must know if they contain a {$R *.lfm}, in order to decide if a form needs to be loaded in the designer. In MSEide the *.pas and *.mfm (the MSEgui *.lfm equivalent) files are independent. A MSEgui form can be loaded by reading the *.mfm file alone. MSEide does not need to parse the library source for MSEgui form handling, all needed information is the RTTI compiled into MSEide . This were MSEide+MSEgui design decisions at the start of the project in order to allow to build a fast, stable and versatile developmnent environment. Martin -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
Am Sonntag 14 August 2011, 00:02:27 schrieb Martin: procedure Deprecated; procedure Foo(deprecated: Boolean); type deprecated = boolean; var a: deprecated; etc. MSE-ide appears to highlight quite some of them. Correct. MSEide uses a very simple syntax highlighing method and does not parse the code in deep. Martin -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
Am Sonntag 14 August 2011, 00:21:49 schrieb Graeme Geldenhuys: I don't know if anyone has such a number of files open in real life, you can't maintain them anyway, you never find a file through the tabs, and neither through any menu. Martin does in MSEide, and I am starting to use it in a similar fashion. Open those units in MSEide. Then press Ctrl+E. A form will popup with a grid which is searchable by just starting to type, or navigating quickly with the arrow keys. An additional method is to double click on the most used editor tabs in order to move them on the top of the tab list. Changed files are marked with a * and easily visible, see attachment. The limit is at about 100-200 open files. 400 are too much because the Ctrl+E grid needs scrolling. Martin attachment: editortabs.png-- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 08/12/2011 04:13 AM, waldo kitty wrote: i have numerous apps that are being upgraded from DOS console apps and there's really no reason for them to have to incorporate all of the fluff'n'stuff of graphics... OK, Alexsander raise a valid point. You have to cater for the environment where your application will be used. This makes sense. i'm still rather appalled that lazarus takes 75Meg on one machine and 125Meg on another for a debug environment... i'm not sure about the size difference since I also have a huge gripe against bloated software we see today. Today's software (well most of them) are just not as efficient has they used to be. Plus they make your hardware upgrade pretty useless in no time at all. Years ago you might have waited for a app to load or process something... with todays computers at a magnitude of 800x faster than the 386 days, you still wait for apps to load or process something! Nothing much (from a user experience) has changed. On the flip side, there are some software that still perform very well today. eg: One of my projects loaded in Lazarus takes up about 100-150MB of memory. That same project loaded in MSEide takes up 9-15MB of memory!!! In each case the project is loaded, a complete recompile of the project is done, and a debug session (project run from inside the ide to activate debugging) has been done. How do you account for that difference in memory usage? MSEide is doing something right. Lets just hope and pray that Lazarus doesn't one day get the performance of Eclipse IDE. That is probably the slowest and most memory hungry IDE I have every come across. :-/ i just found out about freevision earlier today in this thread... never used it or any of the similar stuff in TP/BP back in the day... I've used Borlands version back in my TP days, but I haven't played with FreeVision either. I'm curious to find out how you design forms etc. I can't even remember what I did in my TP days. :) I think Free Vision is covered in the FPC docs though. Regards, - Graeme - -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On Fri, Aug 12, 2011 at 10:57 AM, Graeme Geldenhuys graemeg.li...@gmail.com wrote: i'm still rather appalled that lazarus takes 75Meg on one machine and 125Meg on another for a debug environment... i'm not sure about the size difference since On the flip side, there are some software that still perform very well today. eg: One of my projects loaded in Lazarus takes up about 100-150MB of memory. That same project loaded in MSEide takes up 9-15MB of memory!!! My HTC Wildfire (the cheapest HTC Android phone when I bought it) has 384 MB RAM So I can only conclude that 150 MB of RAM is not nearly a big deal =D It could even fit on my phone! -- Felipe Monteiro de Carvalho -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 08/12/2011 11:16 AM, Felipe Monteiro de Carvalho wrote: So I can only conclude that 150 MB of RAM is not nearly a big deal =D It could even fit on my phone! The test project I used as an example is a new (and small project) we started recently, and already Lazarus uses such a lot of memory. Loading some of our much larger projects, the memory usage jumps considerably. Irrespective of what device or hardware you have, it doesn't explain away why Lazarus is such a memory hog compared to the same project loaded in MSEide. In both IDE's I used fpGUI based projects, so that cuts out a lot of the IDE's built in GUI designer, Object Inspector etc... So I feel my comparison is not unreasonable - I used the same features in both IDE's. If Lazarus doesn't watch out, it will soon become yet another bloated software product. Maybe it's time some new features get put on hold, and some optimizations are implemented instead. This is a normal process of any software development team. Maybe just the thing required for that looming 1.0 release. Just a thought. If MSEide can be light on memory, very fast and still have plenty of features, it should be possible with Lazarus too. Regards, - Graeme - -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
i'm still rather appalled that lazarus takes 75Meg on one machine and 125Meg on another for a debug environment... i'm not sure about the size difference since (...) On the flip side, there are some software that still perform very well today. eg: One of my projects loaded in Lazarus takes up about 100-150MB of memory. That same project loaded in MSEide takes up 9-15MB of memory!!! In each case the project is loaded, a complete recompile of the project is done, and a debug session (project run from inside the ide to activate debugging) has been done. How do you account for that difference in memory usage? MSEide is doing something right. You're doing something wrong ;-) (ok, I know it was an exaggeration) While debugging another Lazarus instance, the host Lazarus has 62MB VM (56MB RSS), with a dozen open files and some forms. And I wouldn't be surprised if more than half of it is occupied by CodeTools tree. gdb unfortunately takes 136MB. Lets just hope and pray that Lazarus doesn't one day get the performance of Eclipse IDE. That is probably the slowest and most memory hungry IDE I have every come across. :-/ Netbeans and JBuilder don't fare much better... Best regards, Flávio -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On Fri, 12 Aug 2011, Graeme Geldenhuys wrote: On 08/12/2011 11:16 AM, Felipe Monteiro de Carvalho wrote: So I can only conclude that 150 MB of RAM is not nearly a big deal =D It could even fit on my phone! The test project I used as an example is a new (and small project) we started recently, and already Lazarus uses such a lot of memory. Loading some of our much larger projects, the memory usage jumps considerably. Irrespective of what device or hardware you have, it doesn't explain away why Lazarus is such a memory hog compared to the same project loaded in MSEide. That depends. Does MSEIDE offer the same features ? Are the MSEIDE Codetools on par with the Lazarus ones ? (and not just the codetools you use, but the complete set of features) Michael. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On Thu, Aug 11, 2011 at 03:43:36PM -0300, Alexsander Rosa wrote: Should we use CRT or VIDEO unit? What's the state of Free Vision? We plan to port our WMS (Warehouse Management System) module from C to Pascal (to use our persistence framework). It has a few colors, a numbered menu and a few scrollable lists. The module usually is run thru Putty from mobile computers like MC-3090 (Windows CE + WiFi). While Video is usable standalone, the KVM units ( keyboard - Video - mouse) are mainly meant as the Free Vision backend. Crt is pure legacy, and has many quirks and idiosyncracies. Free Vision is the most complete solution, but its programming model is very old, it uses TP object and shortstrings, but pchars here and there to work around shortstrings and it in general doesn't take advantage of any newer FPC/Delphi features (mostly the more automated streaming system (RTTI, properties) ansistrings, and in general cleaning out design cobwebs from when apps still had to work on 20MHz 386s. For minor stuff you can take any of them, as long you test them for your terminal types. I would use Video over Crt. (see the lister demo). FV is also an option, but for the more complex (more than a few screens) apps. A few attempts have been made (by Florian and me) to update FV stepwise (with at least ansistrings), but such projects quickly expanded in scope, and still would deliver a patched old and limping framework. For real serious work, one would have to redo TV on a more Delphi/VCL basis, since then maintainability is king, and the limitations of TV get annoying over time. Personally I like (TUI) console apps for server maintenance and configuration apps. They work quick, and work over a SSH connection, without much additional configuration. While this is a _better_ solution one has to ask if it is worth maintaining experience with two frameworks (GUI+TUI) for, specially if they are so different as LCL and TV. Alexander seems to have a clear specialized reason though, where TUI connects to the pecularities of a certain devices interface. No discussion there. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 08/12/2011 11:44 AM, michael.vancann...@wisa.be wrote: That depends. Does MSEIDE offer the same features ? I'm not arguing feature vs feature. Each IDE has there own unique features, and both have many features in common too. I simply tested the features in common. eg: Loading and managing a project, debugging an app, code navigation via Ctrl+Click, syntax highlighting enabled with the same color scheme, Search, Search Replace, various project option changes etc. All features both IDE's support. But using those common features, Lazarus uses 5-10 times more memory? That doesn't sound right to me. And as I said, that's with a small project. Using much larger projects, Lazarus IDE memory usage jumps considerably by the end of a working day. MSEide I on the other hand hardly changes its memory usage. In fact, I don't think I have ever seen MSEide go over 25MB memory in normal usage for a whole day. I just tested this again. I have a Quad Core system with 4GB memory, running Ubuntu 10.04 64-bit. Using Lazarus 0.9.30.1 (latest stable version). Opening 208 units in one folder with Lazarus took around 15 seconds to complete. Opening that same 208 units in MSEide took around 1 second to complete. Then doing a complete recompile of all units. memory usage after the above: Lazarus IDE (gtk2): 145MB MSEide: 31MB The same task, but a huge difference in memory usage! Yes, having 4GB of memory makes this hardly a concern. But keep on thinking like that, and soon Lazarus will perform like Java's Eclipse IDE, requiring a minimal of 1GB just to edit text. Any software project needs to pay attention to performance on a regular basis. This weeds out sloppy code. This is all I wanted to bring to light. Lazarus memory usage seems to jump a lot with each new release. Maybe with the preparation for a 1.0 release this trend can be reversed. Regards, - Graeme - -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
Am 12.08.2011 10:57, schrieb Graeme Geldenhuys: Lets just hope and pray that Lazarus doesn't one day get the performance of Eclipse IDE. That is probably the slowest and most memory hungry IDE I have every come across. :-/ I normally don't use such acronyms, but here it fits: +1 (for both points ^^) Regards, Sven -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 08/11/2011 10:03 PM, Alexsander Rosa wrote: A standard GUI app would require the (dozens of) warehouse operators to use the stylus heavily. ??? A GUI application can easily react on keystrokes -Michael -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
... in fact I once did a GUI application (in Delphi) that the user (a person watching what goes on in a subway station) handles blind via the keyboard. No mouse attached to that PC. -Michael -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
memory usage after the above: Lazarus IDE (gtk2): 145MB MSEide: 31MB Where are you seeing these numbers? I guess you know you have to look at RSS, right? (In case anyone is interested, nn Linux event library mappings is accounted in VM. GTK has huge mappings but doesn't use nearly as much memory actually). -Flávio -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 08/12/2011 03:01 PM, Flávio Etrusco wrote: Where are you seeing these numbers? I guess you know you have to look at RSS, right? gnome-system-monitor Then look under the Processes tab, there is a Memory column. alternatively I can use 'top -p process_id Then take then do a bit of math: RES - SHR = memory usage This comes to the same result as shown in gnome-system-monitor. Regards, - Graeme - -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On Fri, Aug 12, 2011 at 10:57 AM, Graeme Geldenhuys graemeg.li...@gmail.com wrote: On 08/12/2011 03:01 PM, Flávio Etrusco wrote: Where are you seeing these numbers? I guess you know you have to look at RSS, right? gnome-system-monitor Then look under the Processes tab, there is a Memory column. alternatively I can use 'top -p process_id Then take then do a bit of math: RES - SHR = memory usage This comes to the same result as shown in gnome-system-monitor. Regards, - Graeme - OMG. Then we really need to discover what the gtk2 glue is doing so wrong. Thanks, Flávio -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 08/12/2011 04:21 PM, Flávio Etrusco wrote: OMG. Then we really need to discover what the gtk2 glue is doing so wrong. It's not just LCL-GTK2, the same thing happens with Lazarus IDE compiled for LCL-Qt4 too. Just tested. Opening a blank project, Lazarus IDE (using LCL-Qt4) uses 69MB already. Open a 100 units and the memory usage jumps to 140MB. That's not ever working with the IDE yet, so imaging what it would be at the end of a normal working day. Regards, - Graeme - -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 08/12/2011 01:19 PM, Graeme Geldenhuys wrote: memory usage after the above: Lazarus IDE (gtk2): 145MB MSEide: 31MB Now to show how Lazarus is increasing in memory usage per release. Here I loaded the same project and same amount of units under an old Lazarus version v0.9.29 (r27743). Just loading the project with 5 open units, memory usage is 44MB. Open the 208 the total of 208 units, and memory usage is just 77MB - compared to the above 145MB of a 0.9.30.1 build. Regards, - Graeme - -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 12/08/2011 15:53, Graeme Geldenhuys wrote: On 08/12/2011 01:19 PM, Graeme Geldenhuys wrote: memory usage after the above: Lazarus IDE (gtk2): 145MB MSEide: 31MB Now to show how Lazarus is increasing in memory usage per release. Here I loaded the same project and same amount of units under an old Lazarus version v0.9.29 (r27743). Just loading the project with 5 open units, memory usage is 44MB. Open the 208 the total of 208 units, and memory usage is just 77MB - compared to the above 145MB of a 0.9.30.1 build. But what exactly are you comparing? the base memory footprint of Lazarus vs MSEide (without loaded project), or the amount of memory needed to open a project (similar project)? Comparing MSEIde against Lazarus. Lazarus includes codetools, a lot of info about the RTL units is always loaded (afaik), but you do get a benefit out of that. Sure not all the memory maybe codetools, there are many other features that use the memory. but memory is rather cheap nowadays? (BTW, how is the memory usage, if you strip all packages from Lazarus that can be stripped?) Both projects have completely different targets, and that result in different requirements. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 08/12/2011 05:06 PM, Martin wrote: But what exactly are you comparing? Lazarus (old) vsLazarus (new) MSEide vsany Lazarus version At the moment I'm just comparing memory consumption doing the same tasks in each test case. But as I also list, opening 208 units, the speed in MSEide is near instant compared to Lazarus IDE (any version of Lazarus, old or new). But my main concern is by how much the memory consumption is growing in Lazarus. Previous release compared to current release. And beginning of the day to the end of a working day (without shutting down lazarus IDe once). that use the memory. but memory is rather cheap nowadays? So that's your answer. There is no issue even though memory usage double between each release? Regards, - Graeme - -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 12/08/2011 16:16, Graeme Geldenhuys wrote: But as I also list, opening 208 units, the speed in MSEide is near instant compared to Lazarus IDE (any version of Lazarus, old or new). 15 secs for 200 units are NOT a bad time. And btw, older lazarus was slower, there was recent work. Part of this time (and very minor amount of memory 100kb for every 25.000 (actually I believe 100kb for every 50.000) lines, go into functionality that is broken in MSEide. Try horizentol scroll in MSE with lines longer than (afaik) 2000 chars. Yes, maybe not really needed to edit pascal code. But an editor should be able to deal with that. Another bit of time is used by codetools. MSEide doesn't have them. It is every users choice to decide if they need them, and then to use MSEide or Lazarus. I haven't compared the highlighter for pascal. But it may be similar. that use the memory. but memory is rather cheap nowadays? So that's your answer. There is no issue even though memory usage double between each release? IMHO, this is a simplified view. And also remember 0.9.30 was a big release, after a long time... Without knowing where this memory went, there is no telling how memory usage will look in future. It may well be, that some big amount went into a feature, that is well worth it, and that is of a kind that one can be sure, it will not happen with every release. I am not having the time now to look into it. But certain functionality, comes at certain cost. Lazarus priors the functionality over the cost (that does not mean Lazarus ignores the cost, but it accept certain costs, for certain features). you can choose to use it or not. I am certain that if you can find ways to save that memory, without cutting functionality, then this will not be disregarded (It doesn't mean it will be accepted immediately, and without feedback or adaptations required) -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 12/08/11 17:09, Martin wrote: On 12/08/2011 16:16, Graeme Geldenhuys wrote: But as I also list, opening 208 units, the speed in MSEide is near instant compared to Lazarus IDE (any version of Lazarus, old or new). 15 secs for 200 units are NOT a bad time. And btw, older lazarus was slower, there was recent work. It's not a bad time. It's a _terrible_ time. hcv@technical09:~/source/freepascal/latest/packages/univint/src$ time gvim +qa -fp * 450 files to edit real0m3.433s user0m3.110s sys 0m0.208s This is with syntax highlighting, everything opened in tabs. I wonder how fast lazarus will open all the files in univint... Henry -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 12/08/2011 17:28, Henry Vermaak wrote: On 12/08/11 17:09, Martin wrote: On 12/08/2011 16:16, Graeme Geldenhuys wrote: But as I also list, opening 208 units, the speed in MSEide is near instant compared to Lazarus IDE (any version of Lazarus, old or new). 15 secs for 200 units are NOT a bad time. And btw, older lazarus was slower, there was recent work. It's not a bad time. It's a _terrible_ time. hcv@technical09:~/source/freepascal/latest/packages/univint/src$ time gvim +qa -fp * 450 files to edit real0m3.433s user0m3.110s sys0m0.208s This is with syntax highlighting, everything opened in tabs. I wonder how fast lazarus will open all the files in univint... I don't have a copy of gvim. I can't compare the quality and amount of features. How well the highlighting deals with the various fpc constructs, if it provides folding, if it provides codetool like pascal context sensitive tools, Yes there are many editrors that are faster, (and many that are slower, but that's now excuse). But many of the comparisations are apples and bananas, they compare 2 products, that only share a minority of features (though this minority may just be the part with the highest visibility) Mind: not bad = that does neither mean excellent, nor say it is on the top ranks. As I said there had been improvements (in the last 12 month). There is room for more, sure. But looking at the overall: - opening several 100 files is rare. (yeah some people only open, never close, and next time they reload they open all of them again = but how often to you edit e4ach of 200 files on one work day?) - Yet it is possible, and unless you need to restart the ide several times an hour AND load all the files each times, it is not a major issue (it may be to a very small minority of people So from this, there is no major priority in requiring to speed this up. There is no denial that it would be nice, but no terribly high requirement either. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
Am 11.08.2011 22:13, schrieb Graeme Geldenhuys: On 11 August 2011 21:38, Felipe Monteiro de Carvalho felipemonteiro.carva...@gmail.com wrote: I find the choice of going for a console app quite curious. +1 And this is not the first message (in recent days) where the developer is considering console app over gui app. Weird, but I guess there must be a niche market out there we don't know about. :) Compiler development ;) I do almost all fpc development work with the textmode ide :) -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 12/08/11 17:43, Martin wrote: - opening several 100 files is rare. (yeah some people only open, never close, and next time they reload they open all of them again = but how often to you edit e4ach of 200 files on one work day?) You are completely missing the point: This is a benchmark. It points out that we are at least an order of a magnitude slower than editors with similar capability. As Graeme showed, we've become slower, so if we don't watch it, this kind of attitude will end us up with a sluggish, bloated ide. Henry -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 12/08/2011 17:57, Henry Vermaak wrote: On 12/08/11 17:43, Martin wrote: - opening several 100 files is rare. (yeah some people only open, never close, and next time they reload they open all of them again = but how often to you edit e4ach of 200 files on one work day?) You are completely missing the point: This is a benchmark. It points out that we are at least an order of a magnitude slower than editors with similar capability. As Graeme showed, we've become slower, so if we don't watch it, this kind of attitude will end us up with a sluggish, bloated ide. Ok, but you miss the point too, you picked the wrong part of my reply out of context: part1, related to benchmarking: - are we comparing apples with apples, apples with bananas? - are the compared products indeed providing similar quality/functionality? part2, related to the above quote. - that was about every day use. And while it may not be top of the list, it is not a major issue in ever day use. As for paying attention. Several bits of work where undertaken in the last 12 month. as for apples and bananas: gvim does only open about 10 tabs not one tab per file. At least my installation. I can not open more tabs, or access any other than the 10 tabs. I can from the buffer menu change the content of each tab, but that's still only 10 tabs. gvim (i just installed) does not have horizontal scrollbar, and if it wraps line it does not update the vertical scrollbar (maybe by design, but that's a terrible design, though one that saves a lot of time, hence good for the benchmark.) the highlighting appears to be erroneous and far less complete public in a class is highlighted, protected is not deprecated is not hl. I was unable to find out, if ANY hl is context sensitive at all; but for example nested comments are not correctly highlighted. Overall it appears that it is a simple word based highlighting, versus a content sensitive highlighing in Lazarus (apples and bananas) has gvim any codetool like stuff??? Are we comparing apples and apples. OTherwise what kind of benchmark is this? Btw Lazarus took about 27 secs for the 450 files. I am not saying that couldn't be improved, but if you want to benchmark. benchmark more fairly And btw, if I save the 400 files as part of a project, and re-open, it goes in 16 secs. (As lazarus defers some of the work to idle time later) -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
2011/8/12 Graeme Geldenhuys graemeg.li...@gmail.com: that use the memory. but memory is rather cheap nowadays? So that's your answer. There is no issue even though memory usage double between each release? Another reason to have as little releases as possible. ;-) Vincent -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
OMG. Then we really need to discover what the gtk2 glue is doing so wrong. I noticed a few weeks ago that, in at at least one unit, we don't appear to free'ing g_list's consistently. I queried this in the forums with no response - as I stated in that post I have no idea if the glib has a garbage collection style scheme, so I don't know how significant this is. http://forum.lazarus.freepascal.org/index.php/topic,14149.0.html This won't, of course, lead to an immediately overly large memory usage, so I doubt this is the main culprit, but I suspect it doesn't help... Mike -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
OMG. Then we really need to discover what the gtk2 glue is doing so wrong. It's not just LCL-GTK2, the same thing happens with Lazarus IDE compiled for LCL-Qt4 too. Just tested. Opening a blank project, Lazarus IDE (using LCL-Qt4) uses 69MB already. Open a 100 units and the memory usage jumps to 140MB. Does the memory usage lower when you then close the 100 units? Trying to eliminate leak as a possibility. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
[Lazarus] Console App Development
Should we use CRT or VIDEO unit? What's the state of Free Vision? We plan to port our WMS (Warehouse Management System) module from C to Pascal (to use our persistence framework). It has a few colors, a numbered menu and a few scrollable lists. The module usually is run thru Putty from mobile computers like MC-3090 (Windows CE + WiFi). -- Atenciosamente, Alexsander da Rosa http://rednaxel.com -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 11.08.2011 20:43, Alexsander Rosa wrote: Should we use CRT or VIDEO unit? What's the state of Free Vision? We plan to port our WMS (Warehouse Management System) module from C to Pascal (to use our persistence framework). It has a few colors, a numbered menu and a few scrollable lists. The module usually is run thru Putty from mobile computers like MC-3090 (Windows CE + WiFi). I can't speak for Free Vision (the only real world reference application seems to be the IDE and there's also a testapp in the $fpc/packages/fv/examples directory), but I can say a bit regarding CRT and VIDEO: VIDEO seems to be targeted for fullscreen applications, because you basically work on a buffer that represents the complete screen. You won't be able to use UTF8 or Unicode characters and are thus restricted to what the unit gives you, but it tries to somehow map the block drawing characters into the extended ANSI area ( #127). Free Vision is based upon the VIDEO unit. CRT allows you to only print to a part of the screen and will also allow you to write UTF8 characters as it's basically just a redirected Writeln that somehow injects the changes of fonts and the cursor movement. You should also be able to generate a fullscreen application though. So it depends on what you want to achieve. You'd need to test whether those units work on Win CE at all though, because I can't help you here (I was never able to get the console on my Windows Mobile running :( ) Regards, Sven -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
I find the choice of going for a console app quite curious. Wouldn't it be easier to write a standard GUI app using the LCL? -- Felipe Monteiro de Carvalho -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
A standard GUI app would require the (dozens of) warehouse operators to use the stylus heavily. Today they use it only to start the PUTTY app (that opens a saved SSH session) and yet they manage to often damage the screen (!). Also, with a console app that runs via SSH we can easily run it from desktop PC (no need to recompile, just open the SSH). Some processes do not require high mobility and a PC + barcode scanner is way cheaper than MC-3090 handhelds. We run it in 40x17 mode in the 3-inch small screens. The operators usually type 2-digit numbers in the menu to access the features. They call them screens, like run screen 52 for branch 17. After that they usually walk/drive around the warehouse, read barcodes and move boxes. Here's a screenshot: 2011/8/11 Felipe Monteiro de Carvalho felipemonteiro.carva...@gmail.com I find the choice of going for a console app quite curious. Wouldn't it be easier to write a standard GUI app using the LCL? -- Felipe Monteiro de Carvalho -- Atenciosamente, Alexsander da Rosa http://rednaxel.com attachment: wms.png-- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 11 August 2011 21:38, Felipe Monteiro de Carvalho felipemonteiro.carva...@gmail.com wrote: I find the choice of going for a console app quite curious. +1 And this is not the first message (in recent days) where the developer is considering console app over gui app. Weird, but I guess there must be a niche market out there we don't know about. :) Personally, if I had to go console app, I would probably choose something like FreeVision at this point. I think you get quite a bit of functionality for free. Though I haven't written a long running console app (this excludes simple utility apps) in decades. -- Regards, - Graeme - ___ fpGUI - a cross-platform Free Pascal GUI toolkit http://fpgui.sourceforge.net -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 11 August 2011 21:33, Sven Barth wrote: I can't speak for Free Vision (the only real world reference application seems to be the IDE and there's also a testapp in the $fpc/packages/fv/examples directory), Isn't the FPC installer also written with Free Vision - I remember seeing something like that years ago. -- Regards, - Graeme - ___ fpGUI - a cross-platform Free Pascal GUI toolkit http://fpgui.sourceforge.net -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 11.08.2011 22:15, Graeme Geldenhuys wrote: On 11 August 2011 21:33, Sven Barth wrote: I can't speak for Free Vision (the only real world reference application seems to be the IDE and there's also a testapp in the $fpc/packages/fv/examples directory), Isn't the FPC installer also written with Free Vision - I remember seeing something like that years ago. Which installer are you talking about? At least the default Linux (or even Unix?) installer is a shell script. But you could try your newly aquired regular expression skills and search for fv in the fpc source directory :D (though using the search with complete word only would work as well...) Regards, Sven -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 11 August 2011 22:18, Sven Barth wrote: Which installer are you talking about? At least the default Linux (or even Unix?) installer is a shell script. I didn't need regex for this. Simple browsed my FPC src directory. There is a 'installer' folder with an executable 'installer' or for windows 'installer.exe' See attached screenshot. I guess you can only run the installer once, or something. :) -- Regards, - Graeme - ___ fpGUI - a cross-platform Free Pascal GUI toolkit http://fpgui.sourceforge.net attachment: installer.png-- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 11.08.2011 22:18, Sven Barth wrote: On 11.08.2011 22:15, Graeme Geldenhuys wrote: On 11 August 2011 21:33, Sven Barth wrote: I can't speak for Free Vision (the only real world reference application seems to be the IDE and there's also a testapp in the $fpc/packages/fv/examples directory), Isn't the FPC installer also written with Free Vision - I remember seeing something like that years ago. Which installer are you talking about? At least the default Linux (or even Unix?) installer is a shell script. But you could try your newly aquired regular expression skills and search for fv in the fpc source directory :D (though using the search with complete word only would work as well...) Ok... that search won't help much... better try something like app as a complete word, then you'll find (besides many garbage) the DOS and OS/2 installer for FPC in $fpc/installer/install.pas :D Regards, Sven -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 11.08.2011 22:30, Graeme Geldenhuys wrote: On 11 August 2011 22:18, Sven Barth wrote: Which installer are you talking about? At least the default Linux (or even Unix?) installer is a shell script. I didn't need regex for this. Simple browsed my FPC src directory. There is a 'installer' folder with an executable 'installer' or for windows 'installer.exe' See attached screenshot. I guess you can only run the installer once, or something. :) I tried to catch two flies at once... I wanted to find the installer (fly 1) and any other application in FPC directory that uses Free Vision (fly 2). So far there are only 3: - example application - IDE - installer Regards, Sven -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
In the warehouse environment, with ruggedized handhelds, it's easier to use the keyboard than a stylus. http://images.google.com/search?tbm=ischq=warehouse+workergbv=2oq=warehouse+worker 2011/8/11 Graeme Geldenhuys graemeg.li...@gmail.com On 11 August 2011 21:38, Felipe Monteiro de Carvalho felipemonteiro.carva...@gmail.com wrote: I find the choice of going for a console app quite curious. +1 And this is not the first message (in recent days) where the developer is considering console app over gui app. Weird, but I guess there must be a niche market out there we don't know about. :) Personally, if I had to go console app, I would probably choose something like FreeVision at this point. I think you get quite a bit of functionality for free. Though I haven't written a long running console app (this excludes simple utility apps) in decades. -- Regards, - Graeme - ___ fpGUI - a cross-platform Free Pascal GUI toolkit http://fpgui.sourceforge.net -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus -- Atenciosamente, Alexsander da Rosa http://rednaxel.com -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Console App Development
On 8/11/2011 16:13, Graeme Geldenhuys wrote: On 11 August 2011 21:38, Felipe Monteiro de Carvalho felipemonteiro.carva...@gmail.com wrote: I find the choice of going for a console app quite curious. +1 And this is not the first message (in recent days) where the developer is considering console app over gui app. Weird, but I guess there must be a niche market out there we don't know about. :) +5 i have numerous apps that are being upgraded from DOS console apps and there's really no reason for them to have to incorporate all of the fluff'n'stuff of graphics... especially when doing so would require that the older boxen that are being used must be upgraded to the li'l monsters of today's apparent world and all for nothing more than graphical stuffs... i'm still rather appalled that lazarus takes 75Meg on one machine and 125Meg on another for a debug environment... i'm not sure about the size difference since both should be identical other than one on w2k and the other on vista... but still... Personally, if I had to go console app, I would probably choose something like FreeVision at this point. I think you get quite a bit of functionality for free. Though I haven't written a long running console app (this excludes simple utility apps) in decades. i just found out about freevision earlier today in this thread... never used it or any of the similar stuff in TP/BP back in the day... everything i've written has been straight forward and minimal... no OOPs stuff other than message base management stuffs i decided to try many years back... even today, i still code my own replacement routines for stuff that it too large or cumbersome... this switchover to the Lazarus RAD environment and FPC is really taking me on a beating :( -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus