none
OneNote 2010 mass import performance question RRS feed

  • Question

  • I did not see a dev forum devoted to OneNote, so I apologize in advance if this is the wrong forum for this question.

    I am trying to move a large amount of data into One Note using the OneNote API for C# and am experiencing performance issues after about 2,000 pages have been created.  Before people suggest NOT using OneNote, it's a requirement in my case.

    Here are some parameters I'm working with:

    -Beefy Windows 2010 server with 16GB RAM, 24 cores on the processor running 64-bit OneNote 2010 (flexible to install other versions).

    -Small individual page size of 200 characters to ~2 printed pages each plus 1 to 150 hyperlinks to other pages.

    After about 2,000 pages per section, the performance slows from 4 new pages per second to about 1 new page every 4 seconds. The process runs a constant 4% OneNote CPU utilization, then every few minutes my code pauses and OneNote spikes around 12% for several minutes (change file / internal indexing), then quiets down before my code resumes.

    We have experimented with different settings that seem to have no measurable effect on the speed, and OneNote continues to be a black box to me as to what is actually going on.

    Questions

    1: Is there a setting, or a runtime switch that I should try to speed up the performance? We've tried the obvious (spell check while you type, text recognition in audio, disabling Windows Indexing Service, etc.).

    2: Can I write the OneNote binary files directly without going through the API? This would be ideal (non-interop).

    3: Is there another file format that OneNote can import which would be faster for me to create in C#?

    4: Anything else I haven't thought of?

    Monday, November 25, 2013 10:40 PM

Answers

  • Hi,

    What do you mean Windows 2010 server? I didn’t find the require operating system for Office 2010( Refer to System requirements for Office 2010).

    >>1: Is there a setting, or a runtime switch that I should try to speed up the performance? We've tried the obvious (spell check while you type, text recognition in audio, disabling Windows Indexing Service, etc.).<<
    As far as I know, there is no specific setting we can speed up the performance.

    >>2: Can I write the OneNote binary files directly without going through the API? This would be ideal (non-interop).<<
    No, the only way we can manipulate the OneNote now is through the OneNote 2010 API.

    >>3: Is there another file format that OneNote can import which would be faster for me to create in C#?<<
    As far as I know, there is no such format we can create by C#.

    >>4: Anything else I haven't thought of?<<
    As you mentioned it was flexible to install other versions of Office, I suggest you to try install the OneNote 2013 to see whether it can improve the performance.

    Another way is trying to insert pages to different sections or create multiple notebooks when you have a large amount of pages.

    Best regards

    Fei


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    Tuesday, November 26, 2013 11:31 AM
    Moderator

All replies

  • Hi,

    What do you mean Windows 2010 server? I didn’t find the require operating system for Office 2010( Refer to System requirements for Office 2010).

    >>1: Is there a setting, or a runtime switch that I should try to speed up the performance? We've tried the obvious (spell check while you type, text recognition in audio, disabling Windows Indexing Service, etc.).<<
    As far as I know, there is no specific setting we can speed up the performance.

    >>2: Can I write the OneNote binary files directly without going through the API? This would be ideal (non-interop).<<
    No, the only way we can manipulate the OneNote now is through the OneNote 2010 API.

    >>3: Is there another file format that OneNote can import which would be faster for me to create in C#?<<
    As far as I know, there is no such format we can create by C#.

    >>4: Anything else I haven't thought of?<<
    As you mentioned it was flexible to install other versions of Office, I suggest you to try install the OneNote 2013 to see whether it can improve the performance.

    Another way is trying to insert pages to different sections or create multiple notebooks when you have a large amount of pages.

    Best regards

    Fei


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    Tuesday, November 26, 2013 11:31 AM
    Moderator
  • Thank you for the reply, Fei.

    Unfortunately, 2013 OneNote showed no improvement in performance.

    We are currently splitting up the import among different sections in the same notebook, but have not tried the multiple notebooks path.  This would still require a merge after the import as we would need to consolidate all data into one notebook.  Something to consider at least. 

    It seems as of now the only way to improve performance is to get the timing down for pausing the import, letting the OneNote indexing catch up, and then resuming.  This still causes a slow down over time, just not as exponentially as letting the whole thing run uninterrupted.

    Once again, thanks for the response. 

    Tuesday, November 26, 2013 3:44 PM