473,609 Members | 1,868 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

FileStream & MapViewOfFile comparison

I need to access big data in a readonly fashion.
I was thinking to open a FileStream and seek and read as needed.
I was wondering if it was worth doing my own FileStream class which would
use internally use MapViewOfFile internally?
Or pehaps a purely managed wrapper which, at least, load the bytes in 4k
memory buffer (and update the buffer everytime I move)?
Jun 30 '06 #1
4 2125
Lloyd,
I was wondering if it was worth doing my own FileStream class which would
use internally use MapViewOfFile internally?


Have you seen the UnmanagedMemory Stream class in .NET 2.0? It may save
you some work.

There's also a file map helper class available here
http://www.winterdom.com/dev/dotnet/index.html
Mattias

--
Mattias Sjögren [C# MVP] mattias @ mvps.org
http://www.msjogren.net/dotnet/ | http://www.dotnetinterop.com
Please reply only to the newsgroup.
Jun 30 '06 #2
"Lloyd Dupont" <net.galador@ld > wrote in message
news:u8******** ******@TK2MSFTN GP02.phx.gbl...
I need to access big data in a readonly fashion.
I was thinking to open a FileStream and seek and read as needed.
I was wondering if it was worth doing my own FileStream class which would
use internally use MapViewOfFile internally?


Most likely, no. The file system already does read-ahead buffering and
generally will do a better job of managing the memory than you can do in
your application. Unless your needs are very unusual, it's best to just use
the OS-supplied file buffering - which FileStream will use since it's just a
simple wrapper over the Win32 file I/O operations.

-cd


Jun 30 '06 #3
interesting link!

"Mattias Sjögren" <ma************ ********@mvps.o rg> wrote in message
news:eT******** ******@TK2MSFTN GP04.phx.gbl...
Lloyd,
I was wondering if it was worth doing my own FileStream class which would
use internally use MapViewOfFile internally?


Have you seen the UnmanagedMemory Stream class in .NET 2.0? It may save
you some work.

There's also a file map helper class available here
http://www.winterdom.com/dev/dotnet/index.html
Mattias

--
Mattias Sjögren [C# MVP] mattias @ mvps.org
http://www.msjogren.net/dotnet/ | http://www.dotnetinterop.com
Please reply only to the newsgroup.

Jul 1 '06 #4
thanks!
"Carl Daniel [VC++ MVP]" <cp************ *************** **@mvps.org.nos pam>
wrote in message news:OX******** ********@TK2MSF TNGP02.phx.gbl. ..
"Lloyd Dupont" <net.galador@ld > wrote in message
news:u8******** ******@TK2MSFTN GP02.phx.gbl...
I need to access big data in a readonly fashion.
I was thinking to open a FileStream and seek and read as needed.
I was wondering if it was worth doing my own FileStream class which would
use internally use MapViewOfFile internally?


Most likely, no. The file system already does read-ahead buffering and
generally will do a better job of managing the memory than you can do in
your application. Unless your needs are very unusual, it's best to just
use the OS-supplied file buffering - which FileStream will use since it's
just a simple wrapper over the Win32 file I/O operations.

-cd

Jul 1 '06 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
2718
by: Tom | last post by:
Hi, I need some help with stl maps. I am using a std::map that is sorted in a very special way. Therefore I am using my own sort function. That works fine. But this is only half the problem. Additionally "map.find()" should use a different comparison function. My map is like: map < myString, Whatever>
27
3821
by: Daniel Vallstrom | last post by:
I'm having problems with inconsistent floating point behavior resulting in e.g. assert( x > 0.0 && putchar('\n') && x == 0.0 ); holding. (Actually, my problem is the dual one where I get failed assertions for assertions that at first thought ought to hold, but that's not important.) At the end is a full program containing the above seemingly
3
6978
by: Dave Bailey | last post by:
When running the following code: if (typeCheck.Checked == true && typeList.SelectedItem == "3") { return " and wopm3 = '3' or wopm3 = '3C' or wopm3 = '3I'"; } I get the following error: Operator '&&' cannot be applied to operands of type 'bool'
2
5871
by: Emmanuel Derriey | last post by:
Hi ! I have a problem with the MapViewOfFile API. I use this API to store data in files in my own database system management ; when I need to store new data, is the file is NOT large enought, I close the file, reopen and grow it (CreateFileMapping) and re-call MapViewOfFile (last argument is 0, so I map entire file) ; sometimes, it returns NULL and GetLastError returns 8 (not enought space). I test it with differents computers, with 512...
5
2149
by: bradtm | last post by:
I get the error: 'The specified procedure could not be found.' Anyone know why? I get the error to the call of the function MapViewOfFile(): Private Const FILE_MAP_ALL_ACCESS As Integer = &H1 Or &H2 Or &H4 Or &H8 Or &H10 Or &HF0000 Private Declare Auto Function MapViewOfFile Lib "kernel32" ( _ ByVal hFileMappingObject As IntPtr, _ ByVal dwDesiredAccess As Integer, _
0
1038
by: Stefano Magni | last post by:
I've a WebService that execute this code : FileStream stream = File.OpenRead(fileName); WebService launch an exception .. is it possible read a file thuought a WebService ? Thanks Stefano
3
3107
by: Arpan | last post by:
A file can be read using only the StreamReader object like this: Dim sReader As StreamReader sReader = New StreamReader(Server.MapPath("File1.txt")) While(sReader.Peek -1) Response.Write(sReader.ReadLine) End While as well as using the FileStream object along with the StreamReader object like this:
32
2544
by: Joe | last post by:
I am just starting to use Object Oriented PHP coding, and I am seeing quite often the following (this example taken from a wiki): $wakka =& new Wakka($wakkaConfig); What exactly is the =&, and why is it different from = ?
0
8139
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
8091
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
8555
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
8408
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
7024
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
6064
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5524
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
4032
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
1
2540
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.