#928 Support for large files / 64-bit mode

Won't_Implement
closed
Scintilla (358)
1
2016-10-23
2012-04-15
David
No

With most new systems running 64-bit operating systems, and many having well over 4 GB of RAM, editors using Scintilla ought to be able to handle very big files now. But it seems Scintilla does not make this easy to do. Can you improve support for large files / 64-bit systems please.

(My specific use case is that I use Notepad++ for editing all text files from small Perl programs and hand-coding HTML/CSS up to inspecting large text-format data files which I'm working with on a database project, however these are now > 1 GB and exceed the size it can handle at present; I'm going to have to switch to another editor such as EmEditor which is not Open Source.)

(Neil, I realise you rejected Large File support before, but that was 9 years ago and needs have moved on since then.)

Discussion

  • Neil Hodgson

    Neil Hodgson - 2012-04-15
    • assigned_to: nobody --> nyamatongwe
    • priority: 5 --> 1
    • milestone: --> Won't_Implement
     
  • Neil Hodgson

    Neil Hodgson - 2012-04-15

    Changing to 64-bit positions is highly inefficient for files that do not need this. If you really want to do this then you can maintain a fork.

     
  • David

    David - 2012-04-15

    It certainly used to be - I remember coding when 16-bit pointers were enough as we only had 64k RAM anyway - but any machine built in the last few years will have lots of memory so I don't see that changing to Int64 would matter for small files, which still won't use much memory, and it would enable large files for those who need them (and have enough RAM).

    I don't know your tool chain, but is it not possible to declare a Position type and define it to be a 32-bit Int for 32-bit compiles but 64 bit for compile to 64-bit code? Then you'd still only have one set of source modules but people would be able to compile them for either architecture. With so many people running 64-bit operating systems now I would have thought there would be a demand for this. Scintilla provides such useful facilities that it would be a pity if it could no longer be used to full effect in a 64-bit world.

     
  • Neil Hodgson

    Neil Hodgson - 2012-04-15

    People who build for 64-bit shouldn't have to put up with the cost of 64-bit positions.

     
  • David

    David - 2012-04-16

    What cost do you mean? Unless you store a position value with each character (you don't, do you?), you're talking about a few hundred extra bytes of RAM. 64-bit systems generally have 4 GB RAM or more (and there's no point in going 64-bit with less than 2 GB), so this is insignificant.

    Or do you mean time cost? 64-bit processors have 64-bit memory paths so actually it's MORE trouble to load 32-bits than 64 as the processor has to operate on the correct half-word, though modern processors should have enough logic to do either in the same time.

     
  • Neil Hodgson

    Neil Hodgson - 2012-04-17

    Excellent job, getting the overhead down to a few hundred bytes. Looking forward to using your implementation.

     
  • Neil Hodgson

    Neil Hodgson - 2012-07-14
    • status: open --> closed
     
  • darius80

    darius80 - 2016-10-23

    Notepad++ now supports 64bit but there is still a limit in scintilla for large files above 2GB. This limit comes from 32bit and is not necessary anymore in 64bit. How can Notepad++ disable this limit in 64bit?

     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.





No, thanks