15,907,281 members
Sign in
Sign in
Email
Password
Forgot your password?
Sign in with
home
articles
Browse Topics
>
Latest Articles
Top Articles
Posting/Update Guidelines
Article Help Forum
Submit an article or tip
Import GitHub Project
Import your Blog
quick answers
Q&A
Ask a Question
View Unanswered Questions
View All Questions
View C# questions
View C++ questions
View Javascript questions
View Visual Basic questions
View Python questions
discussions
forums
CodeProject.AI Server
All Message Boards...
Application Lifecycle
>
Running a Business
Sales / Marketing
Collaboration / Beta Testing
Work Issues
Design and Architecture
Artificial Intelligence
ASP.NET
JavaScript
Internet of Things
C / C++ / MFC
>
ATL / WTL / STL
Managed C++/CLI
C#
Free Tools
Objective-C and Swift
Database
Hardware & Devices
>
System Admin
Hosting and Servers
Java
Linux Programming
Python
.NET (Core and Framework)
Android
iOS
Mobile
WPF
Visual Basic
Web Development
Site Bugs / Suggestions
Spam and Abuse Watch
features
features
Competitions
News
The Insider Newsletter
The Daily Build Newsletter
Newsletter archive
Surveys
CodeProject Stuff
community
lounge
Who's Who
Most Valuable Professionals
The Lounge
The CodeProject Blog
Where I Am: Member Photos
The Insider News
The Weird & The Wonderful
help
?
What is 'CodeProject'?
General FAQ
Ask a Question
Bugs and Suggestions
Article Help Forum
About Us
Search within:
Articles
Quick Answers
Messages
Comments by Aero72 (Top 16 by date)
Aero72
16-Aug-12 4:46am
View
Apologies, Espen - I didn't answer your question: What I'm presently testing requires a rate of 24k inserts/s, and I can imagine this being as high as 40k inserts/s in worst-case.
What I'm seeing at present is that I'm losing blocks of data because its not quick enough at inserting, and the gui update is significantly slowed down.
There is one table consisting of an auto-increment column plus the five items of data you can see in my code above e.g _ydata = mr.ReadSingle()
I'll have a go at patching in Raptor instead of Firebird.
Thanks and Regards,
Aero
Aero72
15-Aug-12 18:23pm
View
Thanks Espen - I'll take a look.
Aero72
15-Aug-12 11:23am
View
Thanks for trying Espen - I'm sure getting data out of the tables would be fine, but unfortunately it looks like adding records to the database in the first place kills the app, even if one transaction consists of (many) multiple inserts before committing the data.....I've also tried it using embedded firebird and the .NET provider - and its faster at writing to the db than Esent, but still not quick enough :-(
Thanks again,
Aero
Aero72
11-Aug-12 6:24am
View
That looks good.....I have some reading to do! Many Thanks Espen, I'll report back when I've tried it. My 5.
Aero72
7-Aug-12 4:22am
View
Thanks SA, As you suggest I should be able to seek somewhere near because of the chronological order of the file. I'll read a sizeable portion of the file at a time and report back - I'll take a look at BufferedFileReader
Aero72
7-Aug-12 4:17am
View
Thanks, Barneyman - I hoped that's what the MMF was doing for me - reserving a fixed size of memory and have the OS read chunks of the file into that space. I'll try to roll my own and report back.
Aero72
21-Jun-12 15:11pm
View
No worries, SA - answer rated 5 and accepted. Got myself a trial of a memory profiler. I was blind - now I'm learning how to see.
Aero72
21-Jun-12 12:04pm
View
Thanks, Davey....so if I understand you correctly, the list is effectively an array of pointers, and it still has to put the data somewhere...so on my x32 machine, the 18 bytes of data per class instance is effectively 22 bytes of required storage when you take into account it has to remember where it put the data in memory.
Aero72
20-Jun-12 18:54pm
View
Many thanks again, SA - lots of reading to do and code to re-configure. I will get back to you. The tip on WeakReference is potentially very interesting.
Aero72
20-Jun-12 18:42pm
View
Thanks for your input - in answer to the questions you raise, the list type is a class which defines a float, two bytes, a UInt32 and a UInt64 - i.e. 18 bytes of data per instance in the list - so as you say I should be able to have several million items in this list without a problem.
As SA suspects there must be a leak. During one test run this pm, I calculated that the list should have occupied around 300MB, but overall memory usage for the program according to taskmgr (yes, I know I should look at using a memory profiler - that's tomorrow's job) was > 1.3GB!
Aero72
3-Jun-12 5:42am
View
You'll both be pleased to know that I have been able to work out a way of getting what I want to have (modeless floating forms inside a tab control) - and be able to control where the user is directing their input without using MDI.....so everyone's a winner :)
There is always a way - its just a matter of knowing enough to be able to make your fingers do what you think your brain wants.
Thanks for your input and suggestions. Aero
Aero72
3-Jun-12 5:36am
View
Thanks, Alan - your hint has indeed pointed to a solution for me. Thanks for your help
Aero72
31-May-12 18:27pm
View
I think this is helping - presently doing quite a large mod to incorporate something along these lines will feedback when I've done some more experimenting...Thanks for the tip.
Aero72
31-May-12 12:54pm
View
Thanks, Alan - I'll take a look at this later and give it a try
Aero72
31-May-12 12:52pm
View
Yes that's right Bob - and it looks like using the ...SelectedTab.Controls.Add(Whatever)... you can add just about anything and have that tabpage host it. And yes, I have tried .ActiveControl previously.
Aero72
31-May-12 4:22am
View
SA - The reason for trying MDI is because it is actually what the user base for this kind of software is expecting (and I accept that doesn't necessarily mean its good for them) ;-)
I could just implement one instance of my user control per tab and have multiple tabs...or programmatically add a split container and allow several instances of it. However if I do that, the controls become docked - and again for this kind of software, the user is expecting to have floating controls to allow the user to set up their preferred screen (or screens - hence the tab control). My app already saves the size, location, user control type, what it contained and the tab page it was on so that the user can restore their last setup every time they run the software.
I have all this working quite well in "Non-MDI" mode with a couple of exceptions.
I tried using MDI because I know that an MDI interface has properties and methods associated with the Parent being able to know which child has the focus.
In Non-MDI mode, I can't find the right way to determine which of my user controls is being operated upon. At present the focus appears to be cycling round all of them - and that's the last thing I want. If anyone has any suggestions for this maybe I'll stop trying to use MDI!
Thanks and Regards, Aero
Show More